主题:[讨论]请教两个汇编程序,结果为何不正确,哪错了
[size=2]
1)、已知NUMX DB 01H,12H,23H,00H
NUMY DW 10H,12H,13H,14H
DB $-NUMY
DB 100H DUP(1,2,3)
试问执行MOV BX,[06H]
AND BX,0FFH
ADD BX,[BX]后,(BX)=?
我编写的程序是
DATA SEGMENT
NUMX DB 01H,12H,23H,00H
NUMY DW 10H,12H,13H,14H
COUNT DB $-NUMY
DB 100H DUP(1,2,3)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN:
MOV AX,DATA
MOV DS,AX
;MOV BX,00H
MOV AX,00H
MOV SI,00H
LEA SI,NUMX
MOV DI,00H
LEA DI,NUMY
LEA SI,COUNT
MOV BX,[06H]
AND BX,0FFH
ADD BX,[BX]
MOV DX,00H
MOV DX,BX
;SUB DX,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END MAIN
运行后,得到的是↑,用debug得到的也与我直接根据题目算的有出入
2)、已知org 100h
data1 dw 0f345h,1000h
data2 dw 1045h,2000h
:
:
mov bx,offset data1
lea si,data2
mov ax,2[bx]
add ax,2[si]
mov data2,ax
要求显示data2中的内容
我写的程序是:
DATA SEGMENT
ORG 100H
DATA1 DW 0F345H,1000H
DATA2 DW 1045H,2000H
DATA3 DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN:
MOV BX,OFFSET DATA1
LEA SI,DATA2
MOV AX,2[BX]
ADD AX,2[SI]
MOV DATA3,AX
MOV CX,2
LP:
MOV DX,[SI]
SUB DX,0030H
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ADD SI,0002H
JNZ LP
MOV AH,4CH
INT 21H
CODE ENDS
END MAIN
也是得到的跟预想的有出入
希望大家能指正新手,万分感谢![/size][em2]
1)、已知NUMX DB 01H,12H,23H,00H
NUMY DW 10H,12H,13H,14H
DB $-NUMY
DB 100H DUP(1,2,3)
试问执行MOV BX,[06H]
AND BX,0FFH
ADD BX,[BX]后,(BX)=?
我编写的程序是
DATA SEGMENT
NUMX DB 01H,12H,23H,00H
NUMY DW 10H,12H,13H,14H
COUNT DB $-NUMY
DB 100H DUP(1,2,3)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN:
MOV AX,DATA
MOV DS,AX
;MOV BX,00H
MOV AX,00H
MOV SI,00H
LEA SI,NUMX
MOV DI,00H
LEA DI,NUMY
LEA SI,COUNT
MOV BX,[06H]
AND BX,0FFH
ADD BX,[BX]
MOV DX,00H
MOV DX,BX
;SUB DX,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END MAIN
运行后,得到的是↑,用debug得到的也与我直接根据题目算的有出入
2)、已知org 100h
data1 dw 0f345h,1000h
data2 dw 1045h,2000h
:
:
mov bx,offset data1
lea si,data2
mov ax,2[bx]
add ax,2[si]
mov data2,ax
要求显示data2中的内容
我写的程序是:
DATA SEGMENT
ORG 100H
DATA1 DW 0F345H,1000H
DATA2 DW 1045H,2000H
DATA3 DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN:
MOV BX,OFFSET DATA1
LEA SI,DATA2
MOV AX,2[BX]
ADD AX,2[SI]
MOV DATA3,AX
MOV CX,2
LP:
MOV DX,[SI]
SUB DX,0030H
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ADD SI,0002H
JNZ LP
MOV AH,4CH
INT 21H
CODE ENDS
END MAIN
也是得到的跟预想的有出入
希望大家能指正新手,万分感谢![/size][em2]