当前位置: 代码迷 >> 汇编语言 >> 怎么用完整段模式来编写32位程序呢
  详细解决方案

怎么用完整段模式来编写32位程序呢

热度:784   发布时间:2013-02-26 00:00:00.0
如何用完整段模式来编写32位程序呢?
相信大家都知道怎样在MASM的简化段模式来编写32位程序。

本人想问问各位,能否在MASM的完整段模式来编写32位程序呢?
本人也曾尝试过,写了些简单的代码,但一直出现问题,也请各位指点。

代码如下:

CODES SEGMENT   USE32
ASSUME   CS:CODES
START:
MOV   AX,CODES
MOV   DS,AX
MOV   AL,BVAR
MOV   AH,BVAR+3
MOV   BX,WVAR
MOV   CX,WVAR+2
MOV   DX,WVAR+3
MOV   ESI,DVAR
MOV   EDI,DVAR+8
MOV   AX,4C00H
INT   21H

BVAR   DB 01H,   1,   10,   100
WVAR   DW 0102H,   1000,   100*100
DVAR   DD 01020304H,   100000,   1000000,   10000000
BVAR2   DB 'A ',   'ABCD '
            DB 0,   0FFH,   ?
WVAR2   DW 458H,   0E267H,   0,   0FFFFH
DVAR2   DD 0FC152BH,   0,   0FFFFFFFFH
DVAR3   DD WVAR2
DVAR4   DD BVAR2+2
FVAR   DF 010203040506H
QVAR   DQ 0102030405060708H,   49216C3BH
TVAR   DT 0102030405060708090AH,   1
SBVAR   SBYTE -100
SWVAR   SWORD -100
SDVAR   SDWORD -100
BARRAY   BYTE 4   DUP   (91)
WARRAY   DW 5   DUP   (1000)
DARRAY   DD 3   DUP   (80,   2   DUP   (-80))

CODES ENDS
END   START
;代码结束。

------解决方案--------------------------------------------------------
楼主这个程序就应该是 dos16 类的吧, use32 是不对的. 不过, 程序开始加上下面的两行后, 是可以使用 32 位寄存器的
.model small
.386
  相关解决方案