全球旧事资料 分类
析程序实现的功能。
DATASEGMENT
BUFDB08H,12H,34H,56H,78H,9AH,0BCH,0DEH,0F0H,0FFH
KEYDB78H
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA
START:MOVAX,DATA
MOVDS,AX
MOVES,AX
CLD
LEADI,BUF
MOVCL,DI
XORCH,CH
INCDI
MOVAL,KEY
REPNESCASB
JNEDONE
DECBUF
MOVSI,DI
DECDI
REPMOVSB
DONE:MOVAH,4CH
INT21H
CODE
ENDS
ENDSTART
执行结果:BUFDB、、、、、、、、、
参考答案:08H,12H,34H,56H,9AH,0BCH,0DEH,0F0H,0FFH
此程序的功能是:BUF单元中存放计数值“08H”,则程序将从BUF+1开始的8
个单元中查找关键字78H,若找到则BUF单元计数值减1,且后面8
四个单元
的内容依次前移1字节,
为78H的位置指示,本题中
=4。
5、设有100个字节数据(补码),存放在数据段中EA=2000H的存储区内,以
下程序应能从该数据区中找出最大的1个数并存人同一数据段EA=2100H的单元
中,(1)、将每条指令加上注释;
(2)、完成该程序(在空白处填入适当的语句);
(3)、画出程序的流程图。
MAX:LOOP1:
MOVBX,MOVAL,BXMOVCX,INCBXCMPAL,BX
LOOP2
fLOOP2:答:参考答案:
MOVAL,BX
DECCX
JNZ
MOV
,AL
MAX:
MOVBX,2000H;设置数据段的首地址
LOOP1:LOOP2:
MOVAL,BX
MOVCX,99
;设置需寻找的字节数
INCBX
CMPAL,BX
JGELOOP2
;进行大小判断
MOVAL,BX
DECCX
;计数指针减1
JNZLOOP1;判断整个数据是否比较完?
MOV2100H,AL;将最大数存放在2100H地址单元
6、程序设计:试编程在一串字符中查找字母‘M’,有则在屏幕上显示Y,否则
显示N。
参考答案:
DATASEGMENT
SS1DB‘EQYA69XPMGFO’
COUNTEQUSS1
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MOVDS,AX
LEASI,SS1
MOVCX,COUNT
MOVAL,‘M’
A1:CMPAL,SI
JZA2
INCSI
LOOPA1
MOVAL,‘N’
JMPA3
A2:MOVAL,‘Y’
A3:MOVDL,AL
MOVAH,2
INT21H
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
f7、判断MEM单元的数据,编写程序将奇数存入MEMA单元,将偶数存入到MEMB单元。答:第四章习题38、有一组数据,试统计这组数据中偶数的个数,并将结果在屏幕上显示出来。答:第四章习题49、试编程统计寄存器AX中,相邻位的变化次数。答:第四章习题1010、将偏移首地址为BUFF1的20个字节型数据,传送到首地址为BUFF2的内存区,并判断有无传送错误,若正确设置AL00H,反之设置AL0FFH作为标记。答:MOVCX,20
CLDLEASI,BUFF1LEADI,BUFF2NEXT:MOVSB
LOOPNEXTMOVCX,20CLDLEASI,BUFF1LEADI,BUFF2REPECMPSBJNZNEXT1MOVAL,0JMPDONENEXT1:MOVAL,0FFH。。。。DONE:11、试分析下列程序r
好听全球资料 返回顶部