日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言重写除零中断

發(fā)布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言重写除零中断 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近因為有個大作業(yè)要寫計算器,故考慮重寫除零中斷給予提示

DATA SEGMENT BUFFER1 DB 20 DUP(?) B1N DB 0 BUFFER2 DB 20 DUP(?) B2N DB 0 FORMULA DB 30DB ? CHAR DB 30 DUP('$')DB '$'WELCOME DB 'START TO ENTER THE FORMULA:',0AH,0DH,'$' WARN DB 'You are tring to divide 0!',0AH,0DH,'$' DATA ENDSSTACK SEGMENT STACK S DB 256 DUP(?) STACK ENDS ;換行回車宏 HHHC MACROMOV AH,2MOV DL,0DHINT 21HMOV AH,2MOV DL,0AHINT 21H ENDMCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK;重寫除0中斷************************************************************************ INT0 PROC FAR PUSH DX PUSH AXMOV DX,OFFSET WARN MOV AH,09H INT 21HPOP AX POP DX MOV AH,4CH INT 21H IRET INT0 ENDP ;*********************************************************************************** START: MOV AX,0 MOV ES,AX MOV DI,0 MOV AX,OFFSET INT0 CLD STOSW MOV AX,SEG INT0 STOSW ;將程序地址寫入中斷向量表 ;************************************************************************************ MOV AX,DATA MOV DS,AX MOV ES,AXMOV DX,OFFSET WELCOME MOV AH,09H INT 21HMOV DX,OFFSET FORMULA ;將輸入的式子放入FORMULA中,以CHAR的offset為首地址 MOV AH,0AH INT 21H ;各個運算符的ascii碼 '('-28h,')'-29h,'*'-2ah,'+'-2bh,'-'-2d,'/'2fhMOV DX,OFFSET CHAR;輸出剛才輸入的計算式 MOV AH,09H INT 21H HHHC;除零之后出現(xiàn)bug ;CALL INT0 ;除零測試:先放著最后再測試 MOV BL,0 DIV BLMOV AH,4CH INT 21HCODE ENDS END START

總結(jié)

以上是生活随笔為你收集整理的汇编语言重写除零中断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。