程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 編程-8086匯編語句出錯

編程-8086匯編語句出錯

編輯:編程綜合問答
8086匯編語句出錯

assume cs:code
data segment
db 'abcde',0
data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov dh,0
mov dl,0
mov cl,2
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov di,0
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:mov ch,0
push cx ;!!!
mov cl,ds:[di]
jcxz excout
mov al,0A0h
mul dh
mov bx,ax
mov al,2h
mul dl
add bx,ax
mov al,ds:[di]
mov es:[bx+si],al
pop cx ;!!!
mov es:[bx+si+1],cl ;把感歎號處去掉,此處cl換成2便可運行成功,但是cl是作為傳入參數
add di,1
add si,2
jmp short show_str
excout:ret
code ends
end start

好像是cx的問題

最佳回答:


我自己解決了,是push cx後jcxz excout的pop ip取到了cx的值

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved