任何人都可以幫我解決這個問題嗎?運行時錯誤彙編中的非法指令
我需要創建一個asm程序,它將接受用戶確定的名稱,並詢問用戶他是否確定他輸入的名稱,然後用戶將選擇y/n
。如果用戶輸入y
,則程序將打印該消息,然後您可能是chris +用戶姓氏,如果他輸入n
,程序將跳回並再次詢問姓氏。如果他輸入的不是y
或n
,程序會跳回來詢問「你確定嗎?」
當我運行該程序時,我遇到了一個錯誤。這裏是我的代碼:
.model small
.stack 64h
.data
msg01 db 13, 10, "What is your surename?: ", "$"
msg02 db 13, 10, "Are you sure? y/n", "$"
msg03 db 13, 10, "Then you must be chris ", "$"
nameinput label byte
maxnamelen db 20
curnamelen db ?
namefield db 20 dup(?)
.code
start:
mov ax, @data
mov ds, ax
inputsurename:
mov ax, 09h
mov dx, offset msg01
int 21h
mov ah, 0ah
mov dx, offset nameinput
int 21h
mov bx, 0
mov bl, curnamelen
mov namefield [bx], "$"
inputchoice:
mov ax, 09h
mov dx, offset msg02
int 21h
mov ah, 1
int 21h
cmp al, 'n'
je inputsurename
cmp al, 'y'
jne inputchoice
printname:
mov ah, 09h
mov dx, offset msg03
int 21h
mov ah, 09h
mov dx, offset namefield
int 21h
mov ah, 4ch
int 21h
end start
您的問題缺少一些重要信息。例如,你在運行這個程序是什麼? DOSBox中?一臺有DOS的舊電腦..?當你遇到錯誤時,你提供了什麼樣的輸入,如果有的話? – Michael