汇编语言程序第二次作业
2020年中国石油大学北京网络学院 汇编语言程序设计-第二次在线作业 参考答案

中国石油大学北京网络学院
汇编语言程序设计-第二次在线作业
参考答案
1.(
2.5分)下列叙述正确的是:
A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令
B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令
C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令
D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令
我的答案:C 此题得分:2.5分
2.(2.5分)在下列指令的表示中,不正确的是:
A、MOV AL,[BX+SI]
B、JMP SHORT DONING
C、DEC [BX]
D、MUL CL
我的答案:C 此题得分:2.5分
3.(2.5分)在进行二重循环程序设计时,下列描述正确的是:。
汇编语言课后作业

《汇编语言》课后作业第一次作业1、编写程序,将AX寄存器中的16位数,每连续4位分成一组,共4组,然后把这4组数分别放在AL、BL、CL和DL寄存器中。
用Debug工具调试程序,查看每条指令执行后,各寄存器的变化。
第二次作业1、编写程序求数据段中8个字节型数据的累加和。
部分代码如下。
Assume cs:codesg, ds:datasgDatasg segmentDB 02H,13H, 02H, 35H, 1AH, 35H, 00H, 12HDW 0H ;此字型单元用来保存累加和Datasg ends第三次作业1、编写程序,将内存中03FF:0~03FF:F中的16个数据复制到内存0000:200~0000:20F中。
2、编写程序,利用堆栈将内存中03FF:0~03FF:F中的16个数据逆序复制到内存0000:200~0000:20F中。
第四次作业1、编写程序,在命令行窗体中输出如下图案(红底绿字高亮闪烁)。
程序执行效果,请在DOS命令行下运行zy4.exe文件。
第五次作业1、编写程序,将数据段中的字符串完成大小写转换。
字母字符大写转换成小写,小写转换成大写,其他字符不变。
如:datasg segmentdb '$BaSic!InfOrIon*'datasg ends程序执行后,数据段中的字符串变成了’$bAsIC!iNFoRiON*’。
是有debug工具查看数据段内容如下:1)执行转换前,数据段的内容如下图2)执行转换后,数据段的内容如下图选做题(该题不计入课后作业成绩)1、编写程序,将数据段中的字型数据以10进制的形式显示。
如:data segmentdw 35A6Hdata ends35A6H十进制值为13734,显示为13734,如下图:。
2012年上半年汇编语言第二次作业

2012年上半年汇编语言第二次作业一、应用题1-8 每个5分1:试按下列要求在数据段中依次书写各数据定义语句:(1)以DA1为首字节的连续存储单元中存放20H个重复的数据序列:2,3,10个4,一个7(2)DA2为字符串变量,用字变量(DW)设置一字符串:‘STUDENTS’(按此顺序存放在各单元中)2、V AR DB 2 DUP ( 1 , 2 , 2 , DUP ( 3 ) , 2 DUP ( 1 ) )在V AR 存储区前5个单元的数据是多少?3、执行下列程序段后,(AX)=?ARRAY DW 10 DUP (2)XOR AX ,AXMOV CX,LENGTH ARRAYMOV SI,SIZE ARRAY-TYPE ARRAYNEXT:ADD AX,ARRAY[SI]SUB SI,TYPE ARRAYLOOP NEXT4:现有如下程序段:DATA SEGMENTORG 0020HDA1 DW 12H,23HDA2 DB 11H,21HDA3 EQU 1234HDA4 EQU $-DA2DA5 DB 31H,32HDATA ENDS(1)该程序段已占有的存储字节数是多少?(2)符号名DA4的值是多少?符号名DA5的值是多少?5、设一程序段定义如下:ORG 0024HAR1 DW 4, 5, $+4……MOV AX , AR1+4执行后AX=?6、程序的功能BEGIN:MOV AH,1INT 21HCMP AL,’a’JB stopcmp al,’z’JA STOPSUB AL,20HMOV DL,ALMOV AH,2INT 21HJMP BEGINRET7:分析下列程序段,回答指定问题:XOR AL,ALCALL SUBSMOV BL,ALCALL SUBSRCR AL,1HLTSUBS :PROC NEARNOT ALJS NEXTSTCNEXT:RETSUBS ENDP程序运行后AL=?BL=?AL=80H BL=0FFH8:分析下列程序段,回答指定问题:10A3H:2000H XOR AL,AL2002H MOV AX,CS2004H MOV SS,AX2006H MOV SP,2F00H2009H MOV DX,2012H200CH PUSH DX200DH CALL 2700H2010H ADD CX,DX2012H HLT10A3H:2700H POP CXRET执行后:(AX)=?(SP)=?(DX)=?(CX)=?ZF=?AX=10A3H SP=2F00H DX=2012H CX=2010H ZF=1二、用其它指令完成和下列指令相同的功能(10分)(1)REP MOVSB(2)REP LODSB(3)REP STOSB(4)REPE SCASBNEXT :MOV DL,[SI]MOV [DI],DLINC SI (DEC SI)INC DI(DEC DI)LOOP NEXTNEXT:MOV AL,[SI]INC SI(DEC)LOOP NEXT三、每题10分,共50分1、写一个把字符串中的所有大写字母改为小写字母.设字符串以0 结尾.2、编写一程序段,在CHAR为首址的26个字节单元中依次存放字母‘A’~’Z’3、编一程序在以BUF为首址的字节单元中存放了COUNT个无符号数,找出其中最大数送MAX单元。
汇编语言作业二

作业报告二一、题目理解下面的程序,完成对数据段中数据的从小到大排序,并输出。
输出功能块label2已给出,通过CALL和RET实现调用。
DATAS SEGMENTDB2,5,6,8,3,7,4,9,2,6,1DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AX;输出原来排序mov cx, 9mov bx,0call label2;把DATAS中的数从小到大排序;换行mov dl, 10MOV AH,6INT 21Hmov dl, 13MOV AH,6INT 21H;输出新排序mov cx, 9mov bx,0call label2MOV AH,4CHINT 21H;输出排序子程序label2:mov dl, [bx]add dl, 30HMOV AH,6INT 21HINC BXloop label2retCODES ENDSEND START 二、分析2.外层循环次数用PUSH CX先保存三、主要代码DATAS SEGMENTDB2,5,6,8,3,7,4,9,2,6,1;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:MOV AX,DATASMOV DS,AX;输出原来排序mov cx, 10mov bx,0call label2;把DATAS中的数从小到大排序MOV SI,0call BUBBLE;换行mov dl, 10MOV AH,6INT 21Hmov dl, 13MOV AH,6INT 21H;输出新排序mov cx, 10mov bx,0call label2;此处输入代码段代码MOV AH,4CHINT 21H;输出排序子程序label2:mov dl, [bx]add dl, 30HINT 21HINC BXloop label2retBUBBLE:L1: PUSH CXL2: MOV AX,[SI]CMP AX,[SI+1]jna NEXTXCHG AX,[SI+1]MOV [SI],AXADD SI,1NEXT:ADD SI,1LOOP L2POP CXLOOP L1retCODES ENDSEND START四、执行结果如图五、总结1.出现错误原因是排序代码段BUBBLE写在了“CODES ENDS END START”之后。
汇编语言第二次实验报告

汇编语言实验报告姓名:王先海专业:网络工程班级:133班学号:139074347实验内容一:编写一个程序,用来显示AL寄存器中的两位十六进位制数程序清单:datas segmentdata db '0123456789ABCDEF'datas endscodes segmentassume cs:codes,ds:datasstart: mov ax,55hmov bx,datasmov ds,bxmov bx,offset datapush axmov cl,04hlab1: shr al,1 ;循环4次逻辑右移1位取高位16进制数dec cljnz lab1xlatmov dl,almov ah,2int 21hpop axmov cl,04hmov ch,7fhlab2: and al,ch ;循环4次and使al高四位清零ror ch,1dec cljnz lab2xlatmov dl,almov ah,02hint 21hmov ah,4chint 21hcodes endsend start1.运行结果:2.思考与体会:循环需要一个跳出条件。
XLAT指令用来将AL中的内容置换成以(BX)为首址(AL)为位移量的内存单元中的内容。
实验内容二:1.程序说明:本程序是用来判别键盘上输入的字符:若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符<CR>,z则结束程序,若为其他字符则不显示,继续等待新的字符输入。
首先输入一个字符,将其和回车字符比较,若是回车字符,则结束程序。
1-9字符,则显示之。
若是若小于0,则重新等待输入。
若大于9,则跳转到和‘A’、Z’比较,若小于’A’,则重新等待输入,若大于’Z’,则跳转到和’a’、’z’比较处,若小于a或大于z,则重新等待输入,否则输出‘c’。
2.程序清单:datas segmentstr db ?,0ah,0dh,'$',' input again!',0ah,0dh,'$'datas endscodes segmentassume cs:codes,ds:datasstart: mov ax,datasmov ds,axnext1: mov ah,01hint 21hcmp al,0dhjz exitlea dx,strmov bx,dxnext2: cmp al,'1'jb next7cmp al,'9'ja next3mov [bx],aljmp next6next3: cmp al,'a'jb next4cmp al,'z'ja next7jmp next5next4: cmp al,'A'jb next7cmp al,'Z'ja next7next5: mov [bx],byte ptr 'c'next6: mov ah,9int 21hjmp next1next7: lea dx,str+4mov ah,9int 21hjmp next1exit: mov ah,4chint 21hcodes endsend start3.运行结果:4.思考与体会:根据条件判定进入不同的分支程序。
汇编第二次上机实验

汇编第二次上机实验班级:姓名:学号:时间:2012年11月2日题目:写一个完整的程序放在代码段C_SEG中,要求把数据段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把结果放在D_SEG中的SUM中。
其中AUGEND,ADDEND和SUM均为双精度数,AUGEND赋值为99251,ADDEND赋值为-15962。
一、设计思路在数据段中分配两个双字AUGEND和SUM,AUGEND初始化为99251,在附加段中分配一个双字ADDEND并初始化为-15962。
然后利用寄存器AX对低位字相加,DX对高位字相加。
最后将结果放回SUM单元。
二、详细设计过程1.设计源代码新建一个文本文件,并把拓展名改为asm,我命名为“plus.asm”。
根据上述思路,设计出源代码。
写好之后先自行检查一下,更改语法错误并保存。
最终代码见附录。
2.对源程序进行汇编在命令提示符下,转到源文件plus.asm所在目录,输入命令“masm plus”。
若汇编有错误,根据错误提示修改源文件并重新汇编,直到显示“0 Waring Errors和0 Severe Errors”,汇编通过。
结果如图1。
图1 汇编结果3.用LINK程序产生EXE文件上一步产生的OBJ文件虽然是二进制的,但不是可执行的,还必须通过连接程序进行连接,使其转换成EXE可执行文件。
输入命令“link plus”,按ENTER,根据提示进行操作。
由于源程序中没有定义堆栈段,而是使用系统的堆栈段,连接程序给出无堆栈段的警告,但并不影响程序运行,如图2。
到此,已经得到了程序。
图2 连接结果4.执行和调试程序输入命令“plus”,发现并没显示结果如图3。
这是因为程序中没有调用中断把结果输出到屏幕上,其实程序已经瞬间执行完成并返回DOS了。
要看到执行的结果,只能使用命令调试程序了。
调用命令“debug plus.exe”,在调试模式下,输入“t d”执行13条指令,使程序停止在RETF指令处,用“d DS:0,LA”和“d ES:0,LA”显示数据段和附加段的前10个字节,如图4。
2007_汇编第2次上机题

《汇编语言程序设计》第二次上机一、目的1、加深对一些常用的汇编指令的理解;1、加深对常用DOS功能调用指令的理解;3、进一步熟悉TD的使用。
二、题目1、《80X86汇编语言程序设计》教材中 P95的 3.7 题。
要求:(1)将该题改成一完整的程序(可以省略实验报告中的程序框图)。
(2)请事先指出依次执行每条程序指令后(AX)的内容。
(3)请事先指出执行ADD、SUB、SAL、RCL指令后,CF、ZF的值。
(4)记录上机执行后与(2)、(3) 中对应的内容。
说明:MOV 指令不影响标志位,DEC指令不影响CF标志位,NOT 指令不影响标志位。
2、《80X86汇编语言程序设计》教材中 P94的 3.3 题。
要求:(1)将该题改成一完整的程序,其中数据段的定义为习题3.1中的数据段(可以省略实验报告中的程序框图)。
(2)请事先画出数据段中数据的存储形式。
(3)请事先指出依次执行每条程序指令后相应寄存器中的内容。
(4)请事先给出各调指令在汇编后的形式。
(5)比较上机执行后,看到的各项内容是否与(2)、(3) ,(4)内容一致。
不一致的应分析错误原因。
说明:MOV BX, OFFSET STR1+3 对应的汇编后的指令为:MOV BX, 3 MOV BX, STR1 对应的汇编后的指令为:MOV BX, [0000](上条指令等价于MOV BX, DS:[0000] )3、《80X86汇编语言程序设计》教材中 P96的 3.11 题。
要求:(1)请事先指出程序运行结束后,显示器显示的内容。
(2)若将NUM的定义改成如下形式:NUM DB 35显示的结果是什么?(3)若将NUM的定义改成如下形式:NUM DB 59显示的结果是什么?(4)指出程序运行后看到的结果,若不一致,分析产生错误的原因。
4. 从键盘输入两串字符分别存入BUF1和BUF2区,比较两串内容是否相等,相等显示“MATCH !”, 不相等显示“NO MATCH !”。
汇编语言程序第二次作业

一、单项选择题(只有一个选项正确,共10道小题)1. 若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL GE 5) AND30)后BX的内容是:()。
(A) 20(B) 30(C) 5(D) 10未选择 [错误]正确答案:A解答参考:2. 假设(AL)=,MOV CL,4SHL AL,CL执行上述指令后CF和AL的内容是()。
(A) AF=1,(AL)=00001001(B) AF=0,(AL)=00001001(C) AF=1,(AL)=00100000(D) AF=0,(AL)=00100000你选择的答案:未选择 [错误]正确答案:C解答参考:3. 下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TEST BH,01H_____K1(A) JNE(B) JZ(C) JS(D) JC你选择的答案:未选择 [错误]正确答案:A解答参考:4. 已知标号NEXT与指令MOV AX,TYPE NEXT在同一个段内,则AX的值为()。
(A) 0(B) 1(C) 2(D) -1你选择的答案:未选择 [错误]正确答案:B解答参考:5. DATA SEGMENTBUF DB 1,2,3,4,5COUNT EQU -BUFDATA ENDS在以上数据段中COUNT的值为( )(A) 3(B) 5(C) 4(D) 6正确答案:B解答参考:6. 下列是8位二进制数的补码,其中真值最大的是()。
(A)(B)(C) 00000000(D) 00000001你选择的答案:未选择 [错误]正确答案:D解答参考:7. 16位有符号数的补码所表示的十进制数的范围是()。
(A) -32767~+32768(B) -32768~+32767(C) -65535~+65536(D) 0~65535你选择的答案:未选择 [错误]正确答案:B解答参考:8. 下面的XCHG指令中,语法正确的是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(只有一个选项正确,共10道小题)1. 若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL GE 5) AND 30)后BX的内容是:()。
(A) 20(B) 30(C) 5(D) 10正确答案:A解答参考:2. 假设(AL)=10010010,MOV CL,4SHL AL,CL执行上述指令后CF和AL的内容是()。
(A) AF=1,(AL)=00001001(B) AF=0,(AL)=00001001(C) AF=1,(AL)=00100000(D) AF=0,(AL)=00100000正确答案:C解答参考:3. 下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TEST BH,01H_____K1(A) JNE(B) JZ(C) JS(D) JC正确答案:A解答参考:4. 已知标号NEXT与指令MOV AX,TYPE NEXT在同一个段内,则AX的值为()。
(A) 0(B) 1(C) 2(D) -1正确答案:B解答参考:5. DATA SEGMENTBUF DB 1,2,3,4,5COUNT EQU -BUFDATA ENDS在以上数据段中COUNT的值为( )(A) 3(B) 5(C) 4(D) 6正确答案:B解答参考:6. 下列是8位二进制数的补码,其中真值最大的是()。
(A) 10001000(B) 11111111(C) 00000000(D) 00000001正确答案:D解答参考:7. 16位有符号数的补码所表示的十进制数的范围是()。
(A) -32767~+32768(B) -32768~+32767(C) -65535~+65536(D) 0~65535正确答案:B解答参考:8. 下面的XCHG指令中,语法正确的是( )。
(A) XCHG AL,DS(B) XCHG BL,[BX](C) XCHG AL,0FH(D) XCHG BUF1,BUF2正确答案:B解答参考:9. LDS SI,ES:[2000H]指令的全部功能是( )。
(A) 把地址2000H送SI(B) 把地址2000H字单元的内容送SI(C) 把地址2000H字单元内容送SI,把2002H字单元内容送DS(D) 把地址2000H字单元内容送DS,把2002H字单元内容送SI正确答案:C解答参考:10. 数据定义如下:BUF1 DB 10BUF2 DW 20 DUP(?)实现将BUF1单元的内容与BUF2开始的第三个字节单元内容相比较的指令是()。
(A) CMP BUF1,BYTE PTR BUF2+3(B) MOV AL,BUF1CMP AL,BYTE PTR BUF2+2(C) MOV AL,BUF1CMP AL,BUF2+2(D) MOV AL,BUF1CMP AL BUF2+3正确答案:B解答参考:(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。
在线只需提交客观题答案。
)二、主观题(共15道小题)11.假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?(1) MOV BP, AL ;(2) MOV WORD_OP [BX+4*3][DI], SP(3) MOV WORD_OP1, WORD_OP2 ;(4) MOV AX, WORD_OP1[DX] ;(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD [BX][SI](7) MOV [BX][SI], 2 ;(8) MOV AX, WORD_OP1+WORD_OP2(9) MOV AX, WORD_OP1-WORD_OP2+100(10) MOV WORD_OP1, WORD_OP1-WORD_OP2参考答案:假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?(1) MOV BP, AL ;错,寄存器类型不匹配(2) MOV WORD_OP [BX+4*3][DI], SP(3) MOV WORD_OP1, WORD_OP2 ;错,不能都是存储器操作数(4) MOV AX, WORD_OP1[DX] ;错,DX不能用于存储器寻址(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD [BX][SI](7) MOV [BX][SI], 2 ;错,[BX][SI]未指出数据类型(8) MOV AX, WORD_OP1+WORD_OP2(9) MOV AX, WORD_OP1-WORD_OP2+100(10) MOV WORD_OP1, WORD_OP1-WORD_OP212.假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:(1) ADD VAR1, VAR2 ;(2) SUB AL, VAR1 ;(3) JMP LAB [SI] ;(4) JNZ VAR1 ;(5) JMP NEAR LAB ;参考答案:假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:(1) ADD VAR1, VAR2 ;不能都是存储器操作数(2) SUB AL, VAR1 ;数据类型不匹配(3) JMP LAB [SI] ;LAB是标号而不是变量名,后面不能加[SI](4) JNZ VAR1 ;VAR1是变量而不是标号(5) JMP NEAR LAB ;应使用NEAR PTR13.有符号定义语句如下:BUFF DB 1, 2, 3, ‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值是多少?参考答案:L=6。
14.假设程序中的数据定义如下:LNAME DB 30 DUP (?)ADDRESS DB 30 DUP (?)CITY DB 15 DUP (?)CODE_LIST DB 1, 7, 8, 3, 2(1) 用一条MOV指令将LNAME的偏移地址放入AX。
(2) 用一条指令将CODE_LIST的头两个字节的内容放入SI。
(3) 用一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。
参考答案:(1) MOV AX, OFFSET LNAME(2) MOV SI, WORD PTR CODE_LIST(3) CODE_LENGTH EQU -CODELIST;此语句必须放在CODELIST语句之后15.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
参考答案:程序段如下:BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用INT 21HCMP AL, ‘a’;输入字符<‘a’吗?JB STOPCMP AL, ‘z’;输入字符>‘z’吗?JA STOPSUB AL, 20H ;转换为大写字母,用AND AL, 1101 1111B也可MOV DL, AL ;显示一个字符的DOS调用MOV AH, 2INT 21HJMP BEGINSTOP: RET16.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。
参考答案:程序段如下:BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用INT 21HCMP AL, ‘a’;输入字符<‘a’吗?JB STOPCMP AL, ‘z’;输入字符>‘z’吗?JA STOPDEC AL ;得到前导字符MOV DL, AL ;准备显示三个字符MOV CX, 3DISPLAY: MOV AH, 2 ;显示一个字符的DOS调用INT 21HINC DLLOOP DISPLAYSTOP: RET17.下面的程序段有错吗?若有,请指出错误。
CRAY PROCPUSH AXADD AX, BXRETENDP CRAY参考答案:程序有错。
改正如下:CRAY PROCADD AX, BXRETCRAY ENDP ;CRAY是过程名,应放在ENDP的前面18.写一段子程序SKIPLINES,完成输出空行的功能。
空出的行数在AX寄存器中。
参考答案:程序如下:CSEG SEGMENTSKIPLINES PROC FARASSUME CS: CSEGBEGIN: PUSH CXPUSH DXMOV CX, AXDISP: MOV DL, 0DH ;显示回车换行,即输出空行MOV AH, 2 ;显示一个字符的DOS调用INT 21HMOV DL, 0AHMOV AH, 2 ;显示一个字符的DOS调用INT 21HLOOP DISPPOP DXPOP CXRETSKIPLINES ENDPEND19.编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。
字符区首地址及其长度为变元。
参考答案:宏定义如下:CLRB MACRO N, CFILMOV CX, NCLDMOV AL, ‘’;;取空格符的ASCII码LEA DI, CFILREP STOSBENDM20.写出分配给下列中断类型号在中断向量表中的物理地址。
(1) INT 12H (2) INT 8参考答案:(1) 中断类型号12H在中断向量表中的物理地址为00048H、00049H、0004AH、0004BH;(2) 中断类型号8在中断向量表中的物理地址为00020H、00021H、00022H、00023H。
21.用CALL指令来模拟实现INT 21H显示字符T的功能。
参考答案:MOV AH, 2MOV DL, ‘T’PUSH DSPUSHF ;因中断服务程序的返回指令是IRET,而不是RETMOV BX, 0MOV DS, BXCALL DWORD PTR[21H*4] ;用CALL指令调用21H的中断服务程序POP DS22.写出指令将一个字数据从端口1000H输入。
参考答案:指令为: MOV DX, 1000HIN AX, DX23.写出文件代号式磁盘存取操作的错误代码:(1) 非法文件代号 (2) 路径未发现 (3) 写保护磁盘参考答案:错误代码为:(1) 06 (2) 03 (4) 1924.8088/8086CPU的存储器采用分段方式管理,每个段最多可以有___ ___字节,全部存储空间可以分成____ __个这样大小且互相不重叠的段。
参考答案:64K 1625.已知[X-Y]补=7001H,[X+Y]补=0001H,则[2X]补= H。
参考答案:7002H。