还剩7页未读,继续阅读
文本内容:
作业8第三章习题P12211
(1)、
(3)13
(1)~
(5)并说明每条指令的寻址方式其中
(4)的正确格式为JMPFARPTRPROG_F后面两问不做作业8参考答案11
(1)EXTRASEGMENT;附加段GET_CHARDB26DUPEXTRAENDSCODESEGMENT;代码段ASSUMECS:CODEDS:DATAES:EXTRA ;段分配START:MOVAXDATA;初始化DSMOVDSAXMOVAXEXTRA;初始化ESMOVESAXLEASISTRINGLEADIGET_CHARMOVCX26CLDREPMOV__MOVAH4CH;返回DOSINT21HCODEENDSENDSTART;源程序结束
(3)CODESEGMENT;代码段ASSUMECS:CODEDS:DATAES:DATA ;段分配START:MOVAXDATA;初始化DS和ESMOVDSAXMOVESAXLEADISTRINGLEAAL‘’;待搜索字符MOVCX26CLDCONT:REPNESCA__;目的串ES:DIJNZFINAL;搜索结束,转FINALMOVBYTEPTR[DI-1]‘’;DS:DIJMPCONT;继续搜索FINAL:MOVAH4CH;返回DOSINT21HCODEENDSENDSTART;源程序结束13寻址方式转移地址
(1)段内直接1200:0278H
(2)段内间接1200:0300H
(3)段内间接1200:4800H
(4)段间直接3400:0ABCH
(5)段间间接00FF:4800H作业9第三章习题P122~P
12312、14作业9参考答案12MOVBX0;统计寄存器清0MOVCX16;循环次数NEXT:ROLAX1;循环左移1位JNCGOON;CF=0转GOONINCBX;CF=1统计累加1GOON:RCRDX1;带CF循环右移1位LOOPNEXT;循环控制HLT;停机14:循环次数AXBXCXDX1451600212431323720作业10第三章习题P12318第四章习题P
1995、6作业10参考答案第三章18
(1)0040H÷4=10H或16号中断
(2)D169:240BH或D3A98H第四章5AX=1BX=20CX=16:将外设端口地址为5FH的内容读入AL若该内容的最高位为0,AH=FFH;若该内容的最高位为1,AH=0作业11第四章习题P
1981、3作业11参考答案1A1占4BA2占6BA3占40B(4×5×2)A4占60B(1×4×3×5)3L=6即变量BUF占用的内存字节数作业12第四章习题P
1984、补充题1以下的语句有数据0503H的字单元有多少个?0305H的字单元又有多少个?画图示出求解过程VAR1DB25HDUP(3,3DUP
(5))补充题2(阅读程序,写结果)执行下列指令段后,AX、BX寄存器的内容是什么?ORG2000HVARDW2TAB1DB10H20H30H40H50H60HRESULTDW…MOVBXOFFSETTAB1ADDBXVARMOVAX[BX]补充题3(编程)利用中断调用,编写程序在屏幕上顺序显示26个大写英文字母A~Z,光标回车换行作业12参考答案第四章习题4PLENTH=2+16+4=22(或16H)表示PAR、PNAME、COUNT三个变量总共占用的内存字节数补充题1数据0503H的字单元有25H个数据0305H的字单元有24H个补充题2BX=2004HAX=4030H补充题3方法
①采用9号功能调用(显示字符串)DATASEGMENTSTRDB‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’0DH0AH‘$’DATAENDSCODESEGMENTASSUMECS:CODEDS:DATASTART :MOVAXDATAMOVDSAXLEADXSTR或MOVDXOFFSETSTRMOVAH9INT21HMOVAH4CHINT21HCODEENDSENDSTART方法
①采用2号功能调用(显示单字符)CODESEGMENTASSUMECS:CODESTART :MOVCX26;循环显示26个大写字母MOVDL41H或‘A’NEXT:MOVAH2INT21HINCDLLOOPNEXTMOVDL0DH;显示回车换行MOVAH2INT21HMOVDL0AHMOVAH2INT21HMOVAH4CHINT21HCODEENDSENDSTART作业13补充题1(阅读程序,写结果)STRDB‘ABCDEF0123456789’……MOVBX,OFFSETSTRMOVAL,65HPUSHAXANDAL,0FHXLATMOVDL,ALPOPAXADDAL,08HDAAMOVDH,ALCMPDH,32H执行上面程序段后,(DL)=46H?,(DH)=73H?补充题2(编程)查找某门课学生考试最高成绩及并列人数设学生人数50人,成绩存放在内存TAB开始的表中,最高成绩存入__X单元,并列人数存入NUM单元DATASEGMENTDATAENDSCODESEGMENTASSUMECS:CODEDS:DATASTART:MOVAXDATAMOVDSAXMOVAH4CHINT21HCODEENDSENDSTART补充题3已知程序段MOVAXXMOVBXYTESTAXBXJSAATESTAX8000HJSBBMOVCX0JMPRRBB:MOVCX1JMPRRAA:MOVCXOFFFFHRR:MOVZCX
(1)若存储单元X的内容为40F4HY为D300H程序执行后Z为多少?
(2)若X为879CHY为CFFFHZ为多少?
(3)若X为0300HY为6FFFHZ为多少?补充题4已知程序段MOVAX13HMOVCX10HMOVDX01HXORBXBXL1:TESTAXDXJZL2INCBXL2SHLDX1LOOPL1求该程序执行后BX的值该段程序的功能是什么?作业14补充题1(程序填空)下面子程序段的功能是将数据段中存于BUF开始的单元中一32位数循环左移一位,其结果存于RSLT单元试在空白处填上适当的内容以保证程序的正确性XHZYPROCFARPUSHAXPUSHDXMOVAXBUFMOVDXBUF+2SHLAX
(1)RCLDX
(2)
(3)MOVRSLTAXMOV
(4)
(5)
(6)RETXHZYENDP补充题2(编程)已知程序段SUBPPROCPUSHBPMOVBPSPPUSHCXPUSHBXMOVAX[BP+4]MOVBX[BP+6]L1ADDAXBXPOPBXPOPCXPOPBPRET4SUBRENDP__INPROCFARMOVAX300HPUSHAXMOVAX205HPUSHAXCALLSUBRHLT__INENDP程序执行结果AX的内容是什么?程序执行到标号为L1处时,BP的内容减SP的内容结果是多少?补充题3以下为一段数据串搬家程序,请指出其中的错误,并写出正确语句ADB123,‘123’BDBNDUPNEQU$-A……MOVSIAMOVDIBMOVCXLENGTHALP:MOVAX[SI]MOV[DI]AXINCSIINCDIDECCXLOOPLP参考答案补充题3ADB123,‘123’NEQU$-ABDBNDUP……LEASIA(MOVSIOFFSETA)LEADIB(MOVDIOFFSETB)MOVCXN若N改用DB定义呢?LP:MOVAL[SI]MOV[DI]ALINCSIINCDIDECCXLOOPLP。