《汇编习题参考答案》由会员分享,可在线阅读,更多相关《汇编习题参考答案(31页珍藏版)》请在金锄头文库上搜索。
1、第 1 页 共 31 页部分习题参考答案1.5 下列各数均为十进制数,请采用 8 位二进制补码运算,并回答标志寄存器 FLAGS 中 CF 和 OF的值,运算结果所代表的十进制数是多少?如果用 16 位二进制补码运算,其结果所代表的十进制数是多少?FLAGS 中 CF 和 OF 的值呢?(1)85+69 (2)85+(-69) (3)85-(-69) (4)85-(69) 85=55H,69=45H,-69=BBH, 8 位二进制补码运算: (1)85+69 =55H+45H=9AH, CF=0,OF=1(2)85+(-69)=55H+BBH=110H,CF=1,OF=0其余略1.6 实模式下
2、,写出段地址和偏移地址为 1234:2002、1430:0042、FF00:0FFF 的物理地址。1234:2002=12340+2002=143421430:0042=14300+0042=14342FF00:0FFF=FF000+0FFF=FFFFF1.7 已知 8086 系统某存储单元物理地址为:52506H,你认为段基址的最大值、最小值分别是多少? 8086 微机最多可以有多少个不同的段基址?52506=5250:0006, 段基址的最大值=525052506=4251:FFF6, 段基址的最小值=42511.8 从物理地址为 00100H 开始到 00103H 单元中顺序存放的数据为
3、:12H,34H,56H,78H。请画出数据存放示意图,并回答以下问题:(1) 写出 00101H 字节单元的内容(00101)= 34H(2) 写出 00102H 字单元的内容(00102)= 7856H习题 33.1 分别说明 8086 处理器中各寄存器的名称和作用是什么?3.2 溢出标志 OF 与进位标志 CF 有何作用和区别?3.3 何为段地址?何为有效地址? 何为物理地址?用指令举例说明。3.4 带符号数比较大小,当 AX )org 100hpname db 4,?,4 dup (?)pnumb db 12,?,12 dup (?) data endscode segment ass
4、ume cs:code, ds:data main proc farpush dssub ax,axpush axmov ax,datamov ds,axmov es,axnext1: call innamecall intelemov al,numdec al第 29 页 共 31 页mov bl,16mul bllea di,plistadd di,axmov dl,numadd dl,30hmov byte ptrdi,dlmov cx,3lea si,pname+2rep movsbmov cx,11lea si,pnumb+2rep movsbcmp byte ptr num,9jb
5、 next1next2: call printretmain endpinname proc nearlea dx,mess1mov ah,09int 21h ;input name(XXX)lea dx,pnamemov ah,10int 21h ;get nameinc byte ptr numretinname endpintele proc nearlea dx,mess2mov ah,09int 21h ;input phone(11)lea dx,pnumbmov ah,10int 21h ;get phone numbretintele endpprint proc nearne
6、xt3: lea dx,mess3mov ah,09int 21h ;input serial:(X)mov ah,1int 21h cmp al,30hjle exitcmp al,39hjg exit第 30 页 共 31 页sub al,30hcmp al,numjg exitpdisp: dec almov bl,16mul bllea dx,plistadd dx,axmov ah,9int 21hjmp next3exit: lea dx,mess4mov ah,9int 21hretprint endpcode endsend main6.12 对十名同学的期末考试成绩进行统计,
7、使用结构变量定义学生成绩记录并预赋值,使用子程序 A统计每个学生的总分,使用子程序 B 显示输出每个学生的姓名和总分,对于总分应使用子程序 C 把总分的数值转为字符显示。学生成绩记录格式:备用, 字符型, 3 字节为便于显示输出,问题简化为:学生成绩只设 2 门课,每门课分值最高为 5 分参考程序:data segmentstm strucbname db aaaaaa$c1 db ?c2 db ?c3 db 0stm endsst1 stm st2 stm st3 stm st4 stm st5 stm st6 stm st7 stm st8 stm st9 stm st10 stm dat
8、a endscode segmentassume cs:code,ds:datamain proc farmov ax,datamov ds,ax第 31 页 共 31 页call aacall bbmov ah,4chint 21hmain endpaa proc nearmov cx,10mov bx,offset st1k: mov al,bx.c1add al,bx.c2mov bx.c3,aladd bx,10loop kretaa endp bb proc nearmov cx,10mov bx,offset st1j: mov dx,bxmov ah,9int 21hmov dl,mov ah,2int 21hmov dl,bx.c3add dl,30hmov ah,2int 21hadd bx,10call hhloop jretbb endphh proc nearmov ah,2mov dl,13int 21hmov ah,2mov dl,10int 21hrethh endpcode endsend main