计算机Word文档下载推荐.docx
《计算机Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
![计算机Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-2/2/7d41f56c-2595-47cc-9000-4a9f46c00fea/7d41f56c-2595-47cc-9000-4a9f46c00fea1.gif)
DSEGSEGMENT
DATADB15H,26H,03H,64H,8AH,0AAH,24H,48H
COUNTDW08
ODDSUMDW0
EVENSUMDW0
DSEGENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DSEG
MAIN:
MOVAX,DSEG
MOVDS,AX
LEASI,DATA
MOVCX,COUNT
XORAX,AX
XORBX,BX
XORDX,DX
AGAIN:
MOVAL,[SI]
TESTAL,01
JZEVENS
ADDBX,AX
JMPCHCNT
EVENS:
ADDDX,AX
CHCNT:
INCSI
LOOPAGAIN
MOVODDSUM,BX
MOVEVENSUM,DX
MOVAH,4CH
INT21H
CSEGENDS
ENDMAIN
运行结果如下:
思考题:
测试最低位状态也可以用右移指令,然后判断CF的状态。
请问如何修改程序语句?
扩展题:
有一个班级,学生人数存储于内存NUB单元,该班同学某门课程的成绩存放于内存S开始的单元,编制程序,统计该班该课程的平均成绩,存放于E单元。
编写的程序如下:
DSEGSEGMENT
SDW78,65,45,87,90,64,95,75,74
NUBDW9
EDW0
START:
LEASI,S
MOVAX,0
MOVBX,0
MOVCX,NUB
MOVBX,[SI]
ADDAX,BX
ADDSI,2
DEVIDE:
DIVNUB
MOVE,AX
ENDSTART
【程序2】是贬值一程序。
从键盘输入一个字符,若为“1”,则显示“THEFIRSTSUBROUTINE!
”;
否则显示“INPUTTHERIGHTCHARACTER”,返回DOS。
程序清单如下:
DATASEGMENT
STRODB'
INPUTTHERIGHTCHARACTER'
'
$'
STR1DB'
INPUTCHARACTER:
STR2DB'
THEFIRSTSUBROUTINE!
DATAENDS
CODESEGMENT
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDX,OFFSETSTR1
MOVAH,09H
MOVAH,01H
CMPAL,'
1'
JZSUBF
MOVDL,0DH
MOVAH,02H
MOVDL,0AH
LEADX,STRO
JMPEXIT
SUBF:
LEADX,STR2
EXIT:
CODEENDS
运行‘1’的结果如下:
运行‘2’的结果如下:
请仔细阅读程序说明AH功能号分别为01H,02H,09H时所代表的功能。
编写程序在屏幕上显示A到Z26个字母,要求用DOS系统功能调用1NT21H的02H号功能实现。
编写程序如下:
STRDB'
OUTPUTCHARACTER:
DATAENDS
CODESEGMENT
MOVDX,OFFSETSTR
MOVCX,26
MOVDL,'
A'
L0:
MOVAH,2
INCDL
LOOPL0
INT21H
CODEENDS
【程序3】计算一组字数据中正数,负数和零的个数,并分别存放在PCOUNT,MCOUNT和ZCOUNT单元。
设该组数据首地址为ARRY,数据个数在CNT单元存放。
主程序清单如下:
ARRYDW15,-5,1,5,0,123,964,-327,0
CNTDW9
PCOUNTDW0
MCOUNTDW0
ZCOUNTDW0
LEASI,ARRY
MOVCX,CNT
XORAX,AX
PNZN0:
TESTWORDPTR[SI],0FFFFH
JSMINUS
JNZPLUS
INCDX
JMPPMZN1
PLUS:
INCAX
MINUS:
INCBX
PMZN1:
LOOPPNZN0
MOVPCOUNT,AX
MOVMCOUNT,BX
MOVZCOUNT,DX
本程序利用TEST指令影响标志位来判别程序分支,请问程序利用的是哪两个标志?
设有一组字节数据,编制程序求其全部正数的和。
设和不超过16位二进制数,可用一个字表示或存放。
BUFDB15,-5,7FH,-34,56,7FH
BUF1DW0
MOVDX,0
MOVCX,8
MOVSI,OFFSETBUF
TESTBYTEPTR[SI],0FFH
JSL1
MOVAX,[SI]
ANDAX,00FFH
L1:
MOVBUF1,DX
CODEENDS