回 帖 发 新 帖 刷新版面

主题:一个初学者的 问题

题:
若(bx)=1000h,(ds)=2000h,(21000h)=12h,(21001h)=34h,执行lea si,[bx]指令后,si寄存器的 内容是____.
lea不是取有效地址吗??为什么答案是:3412

回复列表 (共3个回复)

沙发

是有问题,
应该是 1000h

板凳

应该是把BX的内容给了SI

3 楼

QICHE  PROC near              ;汽车子程序 
       PUSH AX
       PUSH BX
       PUSH CX
       PUSH DX     
       MOV AH,0
       MOV AL,4
       INT 10H
       MOV AH,0BH            ;设置彩色组颜色为绿、红、黄
       MOV BH,01
       MOV BL,00
       INT 10H
       CLEAR 0,0,24,79,7     ;清屏宏调用
       LEA DI,CAR            ;DI指向字符图形表
       MOV DH,5              ;从第5行5列位置开始显示汽车
       MOV DL,0
       CALL MOVE_SHAPE
       RET
QICHE  ENDP
MOVE_SHAPE PROC NEAR         
       PUSH AX
       PUSH BX
       PUSH CX
       PUSH DX
       PUSH DI
       MOV AH,0FH             ;取当前显示方式
       INT 10H
       SUB CH,CH
       MOV CL,[DI]            ;CL放字符个数
       INC DI                 ;DI指向字符图形表中的第一个字符
       MOV CHAR_CNT,CX
       MOV POINTER,DI
       MOV LINE_ON,DH
       MOV COL_ON,DL
PLOT_NEXT: 
       ADD DH,[DI+2]          ;改变行列坐标
       ADD DL,[DI+3]
       CMP DL,80              ;出屏否?
       JB MOV_CRSR
       Pop DI
       Pop DX
       Pop CX
       Pop BX
       Pop AX
       jmp exit2
MOV_CRSR:  
       MOV AH,2               
       INT 10H
       MOV AL,[DI]            ;取字符值
       MOV BL,[DI+1]          ;取字符属性
       PUSH CX
       MOV CX,1
       MOV AH,09              ;显示字符
       INT 10H
       POP CX
       ADD DI,4               ;DI指向下一个字符
       LOOP PLOT_NEXT
       CALL DLY
       CALL ERASE
       JMP SHORT PLOT_NEXT
exit2: ret    
MOVE_SHAPE ENDP
ERASE  PROC NEAR
       MOV CX,CHAR_CNT
       MOV DI,POINTER
       MOV DH,LINE_ON
       MOV DL,COL_ON
ERASE_NEXT: 
       ADD DH,[DI+2]
       ADD DL,[DI+3]
       MOV AH,2
       INT 10H
       MOV AL,[DI]
       MOV BL,0
       PUSH CX
       MOV CX,1
       MOV AH,9
       INT 10H
       POP CX
       ADD DI,4
       LOOP ERASE_NEXT
       MOV CX,CHAR_CNT
       MOV DI,POINTER
       MOV DH,LINE_ON
       INC COL_ON
       MOV DL,COL_ON
       RET
ERASE  ENDP
CODE ENDS 
     END start

我来回复

您尚未登录,请登录后再回复。点此登录或注册