1樓:還是別說話
1.因為呼叫命令是
call binihex
所以to,t1兩段程式後面的
mov ah,4ch
int 21h
應該改為ret,否則,如果程式從這裡退出,可能因為堆疊洩露而發生問題。
2.mul ax 好像比較冒險,乘法是通過把ax連續移位相加來實現的,現在被乘數也是ax,結果很難說,建議改為 mul cx
3.dec ch
jnz root
dec指令肯定不影響cf標誌,可我記不清它是不是影響zf標誌了。這裡你最好關注一下,如果不能生成zf標誌就要在兩行中間插入比較指令 cmp ch,0
4.rol bx,cl 命令結束後cl中的數會不會變化?我沒驗證過,個人覺得把
mov cl,4
放在迴圈內部比較好。
2樓:匿名使用者
用手機看的,不太細,但我感覺沒什麼大錯,除了一點後敘,你**不夠簡潔,計算乘方邏輯嫌不太清晰
你把輸入的返回值儲存一下,否則可能在下一個呼叫時被改變,按理dos功能呼叫應儲存暫存器,不過我沒看過原始碼,鍵盤顯示和列印中斷是儲存了的
3樓:
1.t0,t1的程式後面去掉mov ah,4chint 21h改成ret ,這是個子程式必須正常返回2.lop:
入口出的指令改成mul cx3.把mov cl,4放到root後面
就這3個問題,改了一定沒問題
4樓:虛空不滅
我把你的程式複製了過去,可以用的啊.
超高分請教一道組合語言程式設計問題
內容是編寫由鍵盤輸入10個4位的資料並將這些數由大到小或由小到大進行排序其結果輸出在顯示屏上的程式.assume cs code,ss stack,ds data data segment str db 0ah,0dh,please input a thousand number 0ah,0dh,b...
彙編入門請教,彙編簡單的問題
這是什麼彙編啊,是計算機的嗎,怎麼沒見過啊,是不是微控制器cpu的專門彙編啊,看不懂。是不是你的上面的程式的變數型別定義的問題啊?怎麼學習彙編 一 彙編大多是指組合語言,彙編程式。把組合語言翻譯成機器語言的過程稱為彙編。在組合語言中,用助記符代替操作碼,用地址符號或標號代替地址碼。這樣用符號代替機器...
高分彙編程式設計,高手來幫幫忙
有彙編和c轉化的軟體 for i 0 i 9 i for j i 1 j 10 j if a i a j 這個c是對的不過你還少了點東西.下面的彙編我倒是看的很對但是有點還是沒有看明白.你的意思是每次si和di都因該加2是在儲存資料時佔用的2個位元組. data segment assume ds ...