资源描述:
《微机程序调试(2)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、加减法参考程序DATASEGMENTPARAPUBLIC‘DATA’DATAENDSSTACKSEGMENTPARASTACK‘STACK’DB512DUP(?)STACKENDSCODESEGMENTPARAPUBLIC‘CODE’ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVES,AXMOVAX,0000MOVDX,0000MOVSI,2050HMOVDI,2150HMOVBP,2250HMOVWORDPTR[SI],0205HMOVWORDPTR[
2、DI],0408HMOVWORDPTR[BP],0109HMOVAL,…;送被加数低8位AL=…;低8位相加AL=,AH=,CF=…;加法ASCII调整AL=,AH=,CF=MOVDL,AL;DL=MOVAL,[SI+1];AL=…;带进位加;AL=,CF=…;加法ASCII调整AL=,AH=,CF=…;AL与DL交换AL=,DL=…;和的低8位减减数的低8位AL=…;减法ASCII调整AL=,AH=,CF=…;AL与DL交换,存低8位结果AL=,DL=…;高8位带进位减AL=…;减法ASCII调整AL=,AH=,CF=MOVDH,AL;DH=RETSTARTENDPCODEENDSE
3、NDSTART乘法参考程序DATASEGMENTPARAPUBLIC‘DATA’DATAENDSSTACKSEGMENTPARASTACK‘STACK’DB512DUP(?)STACKENDSCODESEGMENTPARAPUBLIC‘CODE’ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVES,AXMOVAX,0MOVBX,0MOVDI,223AHMOVSI,2230HMOVAL,04HMOVBL,06H…;相乘,AL=,CF=…;调整,AH=,AL=
4、MOVWORDPTR[DI],AXMOVAL,03H…;被乘数高8位乘以乘数低8位…;调整…;部分积相加…;调整MOVWORDPTR[DI+1],AXMOVAL,04HMOVBL,05H…;相乘…;调整MOVWORDPTR[SI],AXMOVAL,03HMULBL…;调整…;部分积相加…;调整MOVWORDPTR[SI+1],AXMOVAL,[DI];MOVBP,2240HMOV[BP],ALMOVAL,[DI+1]…;部分积相加…;调整MOV[BP+1],ALMOVAL,[DI+2];…;部分积相加…;调整MOV[BP+2],ALMOVAL,0…;部分积相加…;调整MOV[BP+3]
5、,ALRETSTARTENDPCODEENDSENDSTART16进制到ACII码参考程序nameHEXASCdatasegmentparapublic'data'hexdw0A5E9hascdb20dup(0)dataendsstacksegmentparastack'stack'db512dup(?)stackendscodesegmentparapublic'code'assumecs:code,ds:data,es:data,ss:stackstartprocfarpushdsmovax,0pushaxmovax,datamovds,axmoves,axmovcx,0004hm
6、ovax,…;AX=,取十六进制数0ebf9hleabx,ascaa:pushcx…;给循环计数器赋转换代码长度…;AX=,十六进制数循环左移pushaxandax,000fh;AX=;AX=AX=;AX=cmpal,…;判别是否为“0~9”…ascii;是“0~9”转asciiaddal,07hascii:addal,30h;al=;al=al=;al=loopaaretstartendpcodeendsendstartACII码到BCD码参考程序NAMEASCBCDDATASEGMENTPARAPUBLIC'DATA'ORG0150HDATA1DW3538H,4237H,3946H
7、,3639H,3642HORG0160HDB10DUP(?)DATAENDSSTACKSEGMENTPARASTACK'STACK'DB512DUP(?)STACKENDSCODESEGMENTPARAPUBLIC'CODE'ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVES,AXMOVCX,05H…;DI=,[