文档详情

指令系统应用举例.pptx

发布:2025-04-12约9.92千字共10页下载文档
文本预览下载声明

指令系统应用举例

[书例2.2]P63 MOVSI,OFFSETBUFFER1;源数据块首地址的偏移量送SI MOVDI,OFFSETBUFFER2;目标首址的偏移量送DI MOVCX,200;数据块长度送CXNEXT:MOVAL,[SI];源数据块中一个字节传到AL MOV[DI],AL;AL传送到目标地址 INCSI;SI加1 INCDI;DI加1 DECCX;CX减1 JNZNEXT;如不等于0,转移到NEXT ……

[书例2.3]P67MOV BP,SP;设置基址指针寄存器PUSHAX;推入AX,SP减2PUSHBX;推入BX,SP减4PUSHCX;推入CX,SP减6……MOVAX,[BP-2];恢复AX原来的内容MOVBX,[BP-4];恢复BX原来的内容MOVCX,[BP-6];恢复CX原来的内容ADDSP,6;恢复SP原来的内容

[书例2.6]P75要求计算两个多字节十六进制数之和:3B74AC60F8H+20D59E36C1H=?MOVCX,5;循环次数送CXMOVSI,0;SI初值为0CLC;清进位标志CFLOOPER:MOVAL,DATA2[SI];取一个字节加数ADCDATA1[SI],AL;与被加数相同且送回内存区INCSI;SI加1,指向下一字节DECCX;循环次数减1JNZLOOPER;如不为0,转LOOPER……;如为0,运算结束

[书例2.7]P77计算4609+3875=?设被加数和加数的每一位数都以ASCII码形式存放在内存中,低位在前,高位在后。LEASI,STRING1;(SI)?被加数地址指针LEABX,STRING2;(BX)?加数地址指针LEADI,SUM;(DI)?结果地址指针MOVCX,4;(CX)?循环次数CLC;清进位标志CFNEXT:MOVAL,[SI];取一个字节被加数 ADCAL,[BX];与加数相加AAA;ASCII调整(非压缩)MOV[DI],AL;送存

DECCX

显示全部
相似文档