我必须将三个输入从寄存器al复制到内存。但我不知道我不能。在另一个程序中我做了这个,但在此它不会将任何输入复制到任何内存位置。我的代码是(请告诉我问题所在。 即时通讯使用MASM
.MODEL SMALL
.STACK 100h
.DATA
intial1 DB ?
string0 DB 0dh,0ah,'***********',0dh,0ah
DB '***********',0dh,0ah
DB '***********',0dh,0ah
DB '***********',0dh,0ah
DB '***********',0dh,0ah ,'$'
string1 DB '*** $'
string2 DB ' ***$'
string3 DB 0dh,0ah,'***********',0dh,0ah
DB '***********',0dh,0ah
DB '***********',0dh,0ah
DB '***********',0dh,0ah
DB '***********$'
.CODE
MAIN PROC
mov ah,2
mov dl,'?'
INT 21h
;INPUT INTIALS
mov ah,1
INT 21h
mov bl,al
mov ah, 1
INT 21h
mov bh, al
mov ah, 1
INT 21h
mov intial1, al ; error lies here
;DISPLAY
mov ax, @DATA
mov ds, ax
lea dx, string0
mov ah, 9
INT 21h
lea dx, string1
mov ah, 9
INT 21h
mov ah,2
mov dl, bl
INT 21h
mov ah,2
mov dl, bh
INT 21h
mov ah,2
mov dl, intial1
INT 21h
lea dx, string2
mov ah, 9
INT 21h
lea dx,string3
mov ah,9
INT 21h
;ENDING
mov ah, 4ch
INT 21h
MAIN ENDP
END MAIN
答案 0 :(得分:1)
mov intial1, al ; error lies here
还需要正确初始化DS
。
放置此块
mov ax, @DATA
mov ds, ax
在MAIN
程序的最开始。