主题:[讨论]汇编语言问题,请赐教!
[第1帖]
DATA SEGMENT
NUMX DB 01H,12H,23H,00H
NUMY DW 10H,12H,13H,14H
DB $-NUMY
DB 100H DUP(1,2,3)
DATA ENDS
:
:
MOV BX,[06H]
AND BX,0FFH
ADD BX,[BX]
试问上述指令序列执行后,(BX)=?
此题的疑问是:1,MOV BX,[06H]是把06H赋给BX,还是把地址是06H的内容赋给BX?BX的最后结果到底是多少?
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
试问上述指令序列执行后,(DATA1)=?(DATA2+1)=?(BX)=?(SI)=?
我把此题编成了一个上机题目,然后上机调试,用DEBUG中的T命令执行到add ax,2[si]后,ax的值仍是0000,
另外如果要在显示器上显示data2中的内容,汇编语言该如何表示?
data segment
org 100h
data1 dw 0f345h,1000h
data2 dw 1045h,2000h
data ends
code segment
assume cs:code,ds:data
start: mov bx,offset data1
lea si,data2
mov ax,2[bx]
add ax,2[si]
mov data2,ax
mov ah,4ch
int 21h
code ends
end start
DATA SEGMENT
NUMX DB 01H,12H,23H,00H
NUMY DW 10H,12H,13H,14H
DB $-NUMY
DB 100H DUP(1,2,3)
DATA ENDS
:
:
MOV BX,[06H]
AND BX,0FFH
ADD BX,[BX]
试问上述指令序列执行后,(BX)=?
此题的疑问是:1,MOV BX,[06H]是把06H赋给BX,还是把地址是06H的内容赋给BX?BX的最后结果到底是多少?
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
试问上述指令序列执行后,(DATA1)=?(DATA2+1)=?(BX)=?(SI)=?
我把此题编成了一个上机题目,然后上机调试,用DEBUG中的T命令执行到add ax,2[si]后,ax的值仍是0000,
另外如果要在显示器上显示data2中的内容,汇编语言该如何表示?
data segment
org 100h
data1 dw 0f345h,1000h
data2 dw 1045h,2000h
data ends
code segment
assume cs:code,ds:data
start: mov bx,offset data1
lea si,data2
mov ax,2[bx]
add ax,2[si]
mov data2,ax
mov ah,4ch
int 21h
code ends
end start