2
我想寫一個代碼來讀取彙編語言的用戶輸入字符串,但我不得不使用NASM。下面的代碼是爲MASM設計的,我想'翻譯'到NASM,但是我遇到了'緩衝區'指令的問題。爲什麼我不能聲明緩衝區[bx + 2]?什麼是正確的'翻譯'?NASM等效MASM代碼
org 100h
mov ah, 09h ; print function
mov dx, offset nameprompt
int 21h
mov ah, 0ah ; buffered string input
mov dx, offset buffer
int 21h
mov ah, 09h
mov dx, offset crlf
int 21h
mov dx, offset yourname
int 21h
xor bx, bx
mov bl, buffer[1]
mov buffer[bx+2], '$'
mov dx, offset buffer + 2
int 21h
mov ax, 4c00h
int 21h
buffer db 255,0,255 dup(0)
nameprompt db "Enter your name: $"
yourname db "Your name is: $"
crlf db 13,10,"$"
'緩衝液[BX + 2]'將'[緩衝液+ BX + 2]'在NASM – Brendan 2013-03-13 04:16:10
我mov [buffer + bx + 2],'$'有問題,但我通過添加mov al,'$'然後mov [buffer + bx + 2],al解決。首先,我清除了斧頭。謝謝! – 2013-03-13 04:32:53