汇编语言程序设计(第二版)课后习题答案

合集下载

IBM-PC汇编语言程序设计课后习题答案(第二版 沈美明))

IBM-PC汇编语言程序设计课后习题答案(第二版 沈美明))

第五章5.1 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

答:程序段如下: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: RET5.2 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。

答:程序段如下:BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用INT 21HCMP AL, ‘a’ ;输入字符<‘a’吗?JB STOPCMP AL, ‘z’ ;输入字符>‘z’吗?DEC AL ;得到前导字符MOV DL, AL ;准备显示三个字符MOV CX, 3DISPLAY: MOV AH, 2 ;显示一个字符的DOS调用INT 21HINC DLLOOP DISPLAYSTOP: RET5.3 将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中。

答:程序段如下:DSEG SEGMENTSTORE DB 4 DUP (?)DSEG ENDS┇BEGIN: MOV CL, 4 ;右移四次MOV CH, 4 ;循环四次LEA BX, STOREA10: MOV DX, AXAND DX, 0FH ;取AX的低四位MOV [BX], DL ;低四位存入STORE中INC BXSHR AX, CL ;右移四次JNZ A10 ;循环四次完了码?B10: MOV DL, STORE ;四组数分别放在AL、BL、CL和DL中MOV CL, STORE+1MOV BL, STORE+2MOV AL, STORE+3STOP: RET5.4 试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。

IBM-PC汇编语言 程序设计第2版 答案 甄选

IBM-PC汇编语言 程序设计第2版 答案   甄选

IBM-PC汇编语言程序设计第2版答案(优选.)附录:《IBM—PC汇编语言程序设计》习题参考答案第一章.习题二三四五六七1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

IBM-PC汇编语言程序设计课后习题答案第二版doc

IBM-PC汇编语言程序设计课后习题答案第二版doc

第一章1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2 将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111 答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3 将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6)-85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+01001100B=11110111B=0F7H;CF=0;OF=01.6 下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为 -40,D8H表示的无符号数为216;(2) FFH表示的带符号数为 -1, FFH表示的无符号数为255。

IBM-PC汇编语言程序设计课后习题答案第二版沉美明-最新文档资料

IBM-PC汇编语言程序设计课后习题答案第二版沉美明-最新文档资料

第五章5.1 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

答:程序段如下: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: RET5.2 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。

答:程序段如下: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: RET5.3将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和 DL 中。

答:程序段如下:DSEG SEGMENTSTORE DB 4 DUP (?)DSEG ENDSBEGIN: MOV CL, 4 ;右移四次MOV CH, 4 ;循环四次LEA BX, STOREA10: MOV DX, AXAND DX, 0FH ;取 AX的低四位MOV [BX], DL ;低四位存入 STOREDINC BXSHR AX, CL ;右移四次DEC CHJNZ A10 ;循环四次完了码?B10: MOV DL, STORE ;四组数分别放在 AL、BL、CL和DL中MOV CL, STORE+1MOV BL, STORE+2MOV AL, STORE+3STOP: RET5.4试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示‘ MATC'H,若不相同则显示‘ NO MATC'H。

IBM-PC汇编语言程序设计(第二版)课后习题标准答案(清华大学出版社)解析

IBM-PC汇编语言程序设计(第二版)课后习题标准答案(清华大学出版社)解析

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析————————————————————————————————作者:————————————————————————————————日期:IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH30021H字单元内容: AB34H 30022H字单元内容: CDABH4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答: CS+IP 第一个字的物理地址为: 0AAA40H6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS ,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7) 将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址 637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。

汇编语言程序设计(第二版) 钱晓捷 习题答案

汇编语言程序设计(第二版) 钱晓捷 习题答案

汇编语言程序设计(第二版) 钱晓捷 习题答案第二章(01)2.1(1)AX =1200h(2)AX =0100h(3)AX =4C2Ah(4)AX =3412h(5)AX =4C2Ah(6)AX =7856h7)AX =65B7h ( 2.2(1) 两操作数类型不匹配(2) IP 指令指针禁止用户访问(3) 立即数不允许传给段寄存器(4) 段寄存器之间不允许传送(5) 两操作数类型不匹配(6) 目的操作数应为[ BP ](7) 源操作数应为 [BX+DI](8) 立即数不能作目的操作数2.3lea bx,table ;获取table 的首地址,BX =200Hmov al,8 ;传送欲转换的数字,AL =8xlat ;转换为格雷码,AL =12H2.4堆栈是一种按“先进后出”原则存取数据的存储区域。

堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH 和POP 。

2.5mov ax,8057hpush axmov ax,0f79hpush axpop bx ;bx=0f79hpop [bx] ;DS:[0f79h]=8057h2.6AL=89h CF ZF SF OF PFAL=12h 1 0 0 1 1AL=0afh 0 0 1 0 1AL=0afh 1 0 1 0 1AL=00h 0 1 0 0 1AL=0ffh 0 0 1 0 1AL=00h 0 1 0 0 12.7 W=X+Y+24-Z w w w .k h d a w .c o m 课后答案网2.8(1)ADD DX,BX(2)ADD AL,[BX+SI](3)ADD [BX+0B2H],CX(4)ADD WORD PTR [0520H],3412H(5)ADD AL,0A0H2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=Aimul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,axmov bx,dx ;bx,ax <-- dx,ax =A*Bmov ax,Z ;ax = Ccwd ;dx,ax =C (扩展符号后为双字)add cx,axadc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+Csub cx,540sbb bx,0 ;bx,cx<-- A*B+C-540mov ax, V ;ax= Dcwd ;dx,ax= D (扩展符号后为双字)sub ax, cxsbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540)idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax 存商,dx 存余数2.10;(1)xchg 的操作数不能是立即数(2不能对CS 直接赋值(3)两个操作数不能都是存储单元(4)堆栈的操作数不能是字节量(5)adc 的操作数不能是段寄存器(6)没有确定是字节还是字操作(7)in 不支持超过FFH 的直接寻址(8)out 只能以AL/AX 为源操作数第二章(02)2.11;指令 AX 的值 CF OF SF ZF PF Mov ax,1407h 1470h - - - - - And ax,ax 1470h 0 0 0 0 0 Or ax,ax 1470h 0 0 0 0 0 Xor ax,ax 0 0 0 0 1 1 Not ax 0ffffh - - - - - Test ax,0f0f0h 0ffffh 0 0 1 0 1 注意: 1. mov, not 指令不影响标志位2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)第一章1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数: (1) 369 (2) 10000 (3) 4095 (4) 32767 答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H (3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2 将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111 答:(1) 10 1101B=2DH=45 (2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535 (4) 1111 1111B=FFH=2551.3 将下列十六进制数转换为二进制数和十进制数: (1) FA (2) 5B (3) FFFE (4) 1234 答:(1) FAH=1111 1010B=250 (2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534 (4) 1234H=1 0010 0011 0100B=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核: (1) 3A+B7 (2)1234+AF (3) ABCD-FE (4) 7AB×6F 答:(1) 3A+B7H=F1H=241 (2) 1234+AFH=12E3H=4835 (3) ABCD-FEH=AACFH=43727 (4) 7AB×6FH=35325H=2178931.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

[课程]汇编语言程序设计(第二版)课后习题答案

[课程]汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)/down/581895/ak1773--------------------------汇编语言-[基础知识]-[自我总结]2007-03-13 21:06汇编语言计算机存储信息的基本单元是:[一个二进制位]在存储器里以 [字节] 为单位存储信息—————————————————————————会给每个 [字节单元]一个唯一的 [存储器地址]————————————这里的 [存储器地址] 即为:[物理地址]------(书写格式用十六进制表示)[每个字节]==[存储器地址]==[物理地址]==[操作数地址]物理地址(操作数地址)=段基地址*16d + 偏移地址偏移地址==有效地址(EA)EA(effective address)=基址+(变址*比例因子)+位移量立即寻址:MOV AX,0126H..........将0126送入AX -||-没有[物理地址]没有[有效地址]寄存器寻址:MOV AX,BX.............BX的内容传送到AX -||-没有[物理地址]没有[有效地址]寄存器直接寻址:MOV AX,[0126H]........将数据段中的0126单元的内容送AX寄存器间接寻址:MOV AX,[BX]...........BX所指示的地址中的内容送AX--------------------------------第1章答案--------------------------------第2章答案类别:ibm-pc汇编语言程序设计(第二版)课后习题答案 | 评论(47)| 浏览(5203) [首页] [上一页] [1] [2] 3文章分类默认分类(5) 计算机科学技术(14) 文学(2) ibm-pc汇编语言程序设计(第二版)课后习题答案(11) 计算机图形学(5) c++课程设计(2)艺术(6) 广告(1)文章存档2008年04月(1) 2007年09月(1) 2007年06月(4) 2007年04月(5)2007年03月(1) 2007年01月(6) 2006年12月(5) 2006年11月(23)最新文章评论匿名网友不错今天没有白来 sunny841007不管有没有用拿了就先谢谢了匿名网友我说怎么就只有第10章答案而已郁闷啊殇高手,遍得太牛B了。

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学.

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学.

I B M-P C汇编语言程序设计(第二版)课后习题答案(清华大学.------------------------------------------作者xxxx------------------------------------------日期xxxx您正在查看 "ibm-pc汇编语言程序设计(第二版课后习题答案" 分类下的文章IBM-PC汇编语言程序设计(第二版课后习题答案(清华大学出版社(沈美明,温冬蝉著第三章答案1-222006-11-02 22:56IBM-PC汇编语言程序设计(第二版课后习题答案(清华大学出版社(沈美明,温冬蝉著答案1。

.(1立即寻址没有(2直接寻址 7237H(3使用BX的寄存器寻址没有(4使用BX的间接寻址 637DH(5使用BX的寄存器相对寻址 0D5F0H(6 基址变址寻址 8E18H(7相对基址变址 004FH2。

根据下列要求,写出相应的汇编指令。

(1ADD DX,BX(2 ADD AL,[BX][SI](3 ADD [BX][0B2H], CX(4 MOV AX,2A59H ADD [0524H] ,AX(5 ADD AL ,0B5H3。

(1寄存器间接寻址MOV BX,OFFSET [BLOCK][0AH]MOV DX ,[BX](2寄存器相对寻址MOV SI,OAHMOV DX,[BLOCK][SI](3基址变址寻址MOV BX ,BLOCKMOV SI,OAHMOV DX,[BX][SI]没人来看,还是要写~~4。

现有(DS=2000H,(BX=0100H,(SI=0002H,(20100=12H,(20101=34H,(20102=56H,(20103=7 8H,(21200=2 AH,(20201=4CH,(21202=B7H,(21203=65H,试说明下列各条指令执行完后,AX寄存器的内容。

(1MOV AX,1200H 1200H(2 MOV AX,BX 0100H(3 MOV AX,[1200] 4C2AH 注意,是字单元!!(4MOV AX,[BX] 3412H 同上(5MOV 1100[BX] 4C2AH(6 MOV AX,[BX][SI] 7856H(7 MOV AX,1100[BX][SI] 65B7H5。

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大...

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大...

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)第六章答案2006-11-04 22:022、答:(1) NAME1 NAMELIST < >(2) MOV AX,DATA ;假设结构变量NAME1定义在数据段DATA中MOV DS,AXMOV ES,AX;MOV AH,10LEA DX,NAME1INT 21H;MOV CL,NAME1.ACTLENMOV CH,0LEA SI,INLEA DI,DISPFILECLDREP MOVSB6、答:SKIPLINES PROC NEARPUSH CXPUSH DXMOV CX,AXNEXT:MOV AH,2MOV DL,0AHINT 21HMOV AH,2MOV DL,0DHINT 21HLOOP NEXTPOP DXPOP CXRETSKIPLINES ENDP7、答:dseg segmentnum dw 76,69,84,90,73,88,99,63,100,80n dw 10s6 dw 0s7 dw 0s8 dw 0s9 dw 0dseg endscode segmentmain proc farassume cs:code, ds:dseg start:push dssub ax, axpush axmov ax, dsegmov ds, axcall sub1retmain endpsub1 proc nearpush axpush bxpush cxpush simov si, 0mov cx, nnext:mov ax, num[si]mov bx, 10div blmov bl, alcbwsub bx, 6sal bx, 1inc s6[bx]add si,2loop nextpop sipop cxpop bxpop axretsub1 endpend start8、答:data segmentmaxlen db 40n db ?table db 40 dup (?)char db 'a' ; 查找字符’a’evenaddr dw 3 dup (?)data endscode segmentassume cs:code, ds:datamain proc farstart:push dsmov ax, 0push axmov ax, datamov ds, axlea dx, maxlenmov ah, 0ahint 21h ; 从键盘接收字符串mov addr, offset tablemov addr+2, offset nmov addr+4, offset charmov bx, offset addr ; 通过地址表传送变量地址call count ; 计算CHAR的出现次数call display ; 显示retmain endpcount proc near ; count子程序push sipush dipush axpush cxmov si, [bx+2]mov cl, byte ptr[si]mov ch, 0mov si, [bx+4]mov al, byte ptr[si]mov bx, 0again:cmp al, byte ptr[di]jne l1inc bxl1: inc diloop againpop cxpop axpop dipop siretcount endpdisplay proc near ; display子程序call crlf ; 显示回车和换行mov dl, charmov ah, 2int 21hmov dl, 20hmov ah, 2int 21hmov al, bland al, 0fhadd al, 30hcmp al, 3ahjl printadd al, 7print:mov dl, alint 21hcall crlfretdisplay endpcrlf proc near ; crlf子程序mov dl, 0dhmov ah, 2int 21hmov dl, 0ahmov ah, 2int 21hretcrlf endpcode endsend start。

IBM_PC汇编语言程序设计第二版(沈美明)习题参考答案

IBM_PC汇编语言程序设计第二版(沈美明)习题参考答案

(4) 1111 1111B=FFH=255
1.3 将下列十六进制数转换为二进制数和十进制数:
(1) FA
(2) 5B
答:(1) FAH=1111 1010B=250
(3) FFFE
(2) 5BH=101 1011B=91
(3) FFFEH=1111 1111 1111 1110B=65534
(4) 1234H=1 0010 0011 0100B=4660
3.3 写出把首地址为 BLOCK 的字数组的第 6 个字送到 DX 寄存器的指令。要求使用以下几种寻址方 式: (1) 寄存器间接寻址 (2) 寄存器相对寻址
IBM _PC 汇编语言程序设计习题参考答案.doc
-3-
作者:喻其山
(3) 基址变址寻址 答:(1) MOV BX, OFFSET BLOCK
3.2 试根据以下要求写出相应的汇编语言指令 (1) 把 BX 寄存器和 DX 寄存器的内容相加,结果存入 DX 寄存器中。 (2) 用寄存器 BX 和 SI 的基址变址寻址方式把存储器中的一个字节与 AL 寄存器的内容相加,并 把结果送到 AL 寄存器中。 (3) 用寄存器 BX 和位移量 0B2H 的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结 果送回存储器中。 (4) 用位移量为 0524H 的直接寻址方式把存储器中的一个字与数 2A59H 相加,并把结果送回存储 单元中。 (5) 把数 0B5H 与(AL)相加,并把结果送回 AL 中。 答:(1) ADD DX, BX (2) ADD AL, [BX][SI] (3) ADD [BX+0B2H], CX (4) ADD WORD PTR [0524H], 2A59H (5) ADD AL, 0B5H

汇编语言程序设计(第二版)课后题答案

汇编语言程序设计(第二版)课后题答案

4.1、判断下列标识符的合法性。

1)、code 合法2)、Data 合法3)、ABCDH 合法4)、1abcH 不5)、eax 不6)、01 合法7)、A?@ 合法8)、www@zsu 合法9)、***********.cn不10)、AX$DX 合法11)、_BX 合法12)、CX 不4.2、按下面要求写出相应的数据定义语句(未指定变量名的,可任意指定或省缺)。

1)、定义一个字节区域,第一个字节的值为20,其后跟20个初值为0的连续字节;DB 20,20 DUP(0)2)、定义一个以0为结束符的字符串,其初值为:The course is easy;DB “The course is easy”,03)、定义一个以'$'为结束符的字符串,该串中含有换行符和回车符;DB 0D,0A,”$”4)、定义100个字,其初值为0;DW 100 DUP(0)5)、从一个偶地址开始定义一个字变量word;EVENWORD DW ?6)、先定义一个字符串String,其偏移量指定为10,其初值为"ABCDEF",然后再定义3个字类型的数组Data,要求String和Data的偏移量相同;ORG 10STRING DB "ABCDEF"ORG 10DATA DW 3 DUP(?)7)、定义一个字符串String,其初值为"12345678",再定义4个字类型的数组Data,要求String和Data共享同一片内存单元;STRING DB "12345678"ORG $-8DATA DW 4 DUP (?)4.3、把下列C语言的变量定义语句改写成与之等价的汇编语言语句。

1)、char ch1, ch2[3], ch3[]="Are you ready?", ch4='Q';CH1 DB ?CH2 DB 3 DUP (?)CH3 DB "Are you ready?",0CH4 DB “Q”2)、int w1, w2[5], w3=0x1234, w4[]={90, 89, 432, 344};W1 DW ?W2 DW 5 DUP (?)W3 DW 1234HW4 DW 90,89,432,3443)、long int d1=1234, d2, d3[10], d4[]={1, 2, 3, 4, 5, 6};D1 DD 1234D2 DD ?D3 DD 10 DUP(?)D3 DD 1,2,3,4,5,64.4、假设4.3题中三组变量在内存中是连续存放的,且变量ch1的偏移量是20H,试求出其它每个变量的偏移量。

汇编语言程序设计第二版刘慧婷王庆生主编课后参考答案

汇编语言程序设计第二版刘慧婷王庆生主编课后参考答案

汇编语言程序设计第二版刘慧婷王庆生主编课后参考答案汇编语言程序设计第二版课后参考答案第一章:计算机系统概述1.1 计算机系统的结构和层次安排计算机系统是由硬件和软件两部分组成。

硬件包括中央处理器(CPU)、存储器、输入输出设备等,而软件则包括系统软件和应用软件。

1.2 计算机的工作原理计算机按照指令的顺序执行,并且可以通过I/O设备进行输入输出。

1.3 二进制数的表示和转换二进制数是用0和1表示的数,可以通过不同进位的转换方法将其转换为十进制数、八进制数或十六进制数。

第二章:汇编语言的基本知识2.1 指令系统和指令格式指令系统定义了计算机能够执行的指令的集合,指令格式则规定了指令的编码方式。

2.2 寻址方式和寻址方式标志寻址方式指的是指令操作数的寻址方式,寻址方式标志则用于表示指令中操作数的寻址方式。

2.3 汇编程序的基本格式汇编程序由指令、伪指令和注释组成,其中指令用于描述要执行的操作,伪指令用于进行程序的控制和数据的定义。

2.4 汇编语言程序的编写规则汇编语言程序需要遵守一定的规则,例如标号的定义、指令的书写规范等。

第三章:基本指令的使用3.1 数据传送指令数据传送指令用于将一个数据从源操作数传送至目的操作数。

例如,MOV指令用于将源操作数的内容复制到目的操作数。

3.2 算术运算指令算术运算指令用于进行加法、减法、乘法和除法等数值运算。

例如,ADD指令用于进行两个操作数的相加运算。

3.3 逻辑运算指令逻辑运算指令用于进行与、或、非、异或等逻辑运算。

例如,AND指令用于进行两个操作数的逻辑与运算。

3.4 条件转移指令条件转移指令根据某个条件是否成立来决定是否进行转移。

例如,JMP指令用于根据条件是否满足来进行无条件转移。

3.5 循环指令循环指令用于进行循环操作。

例如,LOOP指令用于实现有限次数的循环操作。

第四章:汇编语言的高级应用4.1 子程序的使用子程序是一段独立的代码块,在需要时可以被调用执行,用于实现重复利用的功能。

汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。

科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。

书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。

2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。

电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。

计算机能同时处理二进制信息的位宽定义为计算机的字长。

如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。

4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。

非数值数据如字符、字符串、逻辑值等。

(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。

二进制用B,如10101010B八进制用Q,如437Q。

十进制用D或不用,如54D,或54。

十六进制用H,如27A8H10.完成下列二进制数的加减运算。

(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。

(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。

汇编语言程序设计(钱晓捷)课后答案.docx

汇编语言程序设计(钱晓捷)课后答案.docx
堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POPO
2.5
mov ax,8057h
PuSh ax mov ax,0f79h
mov ax,8057h
PUSh ax mov ax,0f79h PUSh ax pop bx pop [bx] 2.6
AL=89h CF ZF AL=12h10
AL=Oafh00
非压缩BCD码的O〜9是:Ooh〜09h
方法一:
and al,0fh;实现ASCII到非压缩BCD码的转换
Or al,30h;实现非压缩BCD码到ASCII的转换
方法二:
xor al,30h;求反D5D4位,其他不变
;即高4位为3,则变为0;高4位为0,则变为3
mov cl,4
agai n: Shr dx,1;实现逻辑右移
add dx,si
dx=7*bx+3*axdx=0088h0 0 0 01
1.左移N次相当于乘于2的N次方,右左移N次相当于除乘于2的N次方。
2.移位指令根据是否移入“倒CF,设置CF,根据移位后的结果影响SF,ZF,PF°根据最高符号位是否改变设置OF,如改变0F=1.
3., U?表示无定义,,-?表示无影响。
(5)adc的操作数不能是段寄存器
(6)没有确定是字节还是字操作
(7)in不支持超过FFH的直接寻址
(8)OUt只能以AL/AX为源操作数
第二章(02)
2.11;
指令
AX的值CF
OF
SF
ZF
PF
Mov
ax,1407h
1470h
-
-
-
-
-
And
ax,ax
1470h

参考答案 80X86汇编语言程序设计 第二版 (王成耀 著) 人民邮电出版社 课后答案

参考答案 80X86汇编语言程序设计 第二版 (王成耀 著) 人民邮电出版社 课后答案
网 案 答 后 课
file:///C|/Users/bruce/Desktop/80x86汇编语言程序设计习题答案/80x1.htm[2010/1/4 0:18:50]
第3章
第3章
3.1 (1)SS (2)CS (3)DS (4)FS (5)SS (6)DS (7)DS (8)ES 3.2 (1)正确 (2)类型不匹配 (3)两个操作数不能同时是内存操作数 (4)没有[esp][eax*3]这种操作数形式 (5)正确 (6)CS不能作为目的操作数 (7)类型不确定 (8)没有[sp]这种操作数形式
(3) movsx eax, al
add eax, ebx
file:///C|/Users/bruce/Desktop/80x86汇编语言程序设计习题答案/80x2.htm[2010/1/4 0:18:55]
第3章
3.12 将DX:AX中的双字数右移 Nhomakorabea位。3.13 指令 AL CF OF SF ZF
loop next
done:
(3) jcxz done
next: mov ax, [si]
cmp ax, es:[di]
pushf add si, 2 add di, 2 popf loope next
(2)压缩BCD码:1624H;非压缩BCD码:x1x6x2x4H。
网 案 1.6 (1)字符'1'的ASCII码;十进制数31的压缩BCD码;十进制数1的非压缩BCD码;十进制数49的
十六进制表示。

(2)十进制数-1的8位二进制补码表示;带符号数255的16位二进制补码表示;无符号数255的8位
(4)SS:SP表示堆栈段的栈顶地址,ESP的高16位为0;

汇编语言程序设计课后习题解答宋人杰2版

汇编语言程序设计课后习题解答宋人杰2版

(2) 见题图 2.2
ARR1 06H 34H F9H
题图 2.1
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

IBMPC汇编语言程序设计方案(第二版)答案

IBMPC汇编语言程序设计方案(第二版)答案

///第一章. 习题1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767 答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2 将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3 将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4)7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=01.6 下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言程序设计(第二版)课后习题答案第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH30021H字单元内容:AB34H30022H字单元内容:CDABH4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答:CS+IP第一个字的物理地址为:0AAA40H6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH,AL等(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7)将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A4--B2--C3--D12--E9--F11--G10--H13--I8--J7--K6---L1--M15--N14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。

(1)ADD DX,BX(2)ADD AL,[BX][SI](3)ADD[BX][0B2H],CX(4)MOV AX,2A59H ADD[0524H],AX(5)ADD AL,0B5H3.(1)寄存器间接寻址MOV BX,OFFSET[BLOCK][0AH]MOV DX,[BX](2)寄存器相对寻址MOV SI,OAHMOV DX,[BLOCK][SI](3)基址变址寻址MOV BX,BLOCKMOV SI,OAHMOV DX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(2 1200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。

(1)MOV AX,1200H1200H(2)MOV AX,BX0100H(3)MOV AX,[1200]4C2AH注意,是字单元!!(4)MOV AX,[BX]3412H同上(5)MOV1100[BX]4C2AH(6)MOV AX,[BX][SI]7856H(7)MOV AX,1100[BX][SI]65B7H5.(1)7CD9H(2)0600H(3)098AH6.MOV BX,2000HLES DI,[BX]MOV AX,ES:DI7.转向地址OBJ的值分别为:(1)064DH(2)0691H(3)05E0H注意有符号数的符号位8.(1)MOV AX,0ABH立即数寻址无物理地址(2)MOV AX,BX寄存器寻址同上(3)MOV AX,[100]直接寻址20100H(4)MOV AX,VAL直接寻址20050H(5)MOV AX,[BX]寄存器间接寻址20100H(6)MOV AX,ES:[BX]直接寻址21100H(7)MOV AX,[BP]寄存器间接寻址20010H(8)MOV AX,[SI]同上200A0H(9)MOV AX,[BX+10]寄存器相对寻址20110H(10)MOV AX,VAL[BX]同上20150H(11)MOV AX,[BX][SI]基址变址寻址201A0H(12)MOV AX,VAL[BX][SI]相对基相变址寻址201F0H9.(1)的指令:MOV AX,[BX][0CH]MOV ZREO,AX(2)的指令:MOV AX,ARRAY[BX]MOV ZREO,AX10.MOV AX,TABLE是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234HLEA AX,TABLE是把符号地址TABLE的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H11.执行完指令后,(AX)=1E00H12.LEA AX,CSTRINGMOV DL,AXMOV DH,[AX+6]13.课本上P51--P5314.LES BX,[2000]MOV AX,ES:[BX]一条指令的话为MOV AX,ES:[8000H]15.运算结果SF,ZF,CF,OF各位的值(从左至右依次往下)(1)74D4H0000(2)A5C1H1001(3)4240H0010(4)0000H011016.接上表(1)5D140000(2)A8701001(3)D8701000(4)34E4001017.(1)MOV AX,Z;把Z送到AXSUB AX,X;Z-XADD AX,W;W+(Z-X)MOV Z,AX;结果保存在Z中(2)MOV AX,R;R送到AX中ADD AX,9;R+9MOV BX,X;X送到BX中ADD BX,6;X+6ADD AX,BX;(R+9)+(X+6),结果保存在AX中MOV BX,W;W送到BX中SUB BX,AX;W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和MOV Z,BX;最终结果送到Z中(3)MOV AX,W;把W送到AXIMUL X;W*X注意:低十六位保存在AX里,高十六位保存在DX里MOV BX,Y;把Y送到BX里ADD BX,6;Y+6IDIV BX;(W*X)/(Y+6)注意:商保存在AX里,余数保存在DX里MOV Z,AX;把商送到Z中,MOV R,DX;把余数送到R中(4)MOV AX,W;把W送到AX中SUB AX,X;W-XCWD;把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保存在DX中MOV BX,5;把5送到BX中IDIV BX;(W-X)/5被除数为32位,除数为16位商为16位IMUL Y;上一步结果再乖以Y,积为32位MOV BX,2;把2送到BX中IMUL BX;上一步乘法所得的积再乘以2,各为64位MOV Z,EAX;把结果中低32位放入Z双字单元中MOV[Z+4],EDX;把结果中高32位放入Z+4双字单元中18.指令本条指令执行完后AX的内容执行完后CF,SF,ZF的值MOVAX,1234H1234H0 00MOVCL,41234H0 00ROLAX,CL2341H1 00DECAX2340H1 00MOVCX,42340H100MULCX8918H0 00INT20H程序结束后,(AX)=8918H(DX)=0000H19.指令执行完后AX的内容执行完后CF,SF,ZF和OF的值MOVAX,000010DECAX FFFFH0 100ADD7FFEH0000ADDAX,28000H0101 NOTAX7FFFH01 01SUB AX,0FFFFH8000H1101 ADD AX,8000H0000H1011 SUB AX,1FFFFH1 101AND AX,58D1H58D1H0000 SAL AX,1B1A2H0101 SAR AX,1D8D1H0100 NEG AX272FH1000 ROR AX,19397H1001 20.(1)MOV AX,DATAXADD DATAY,AX(2)MOV AX,DATAXADD DATAY,AXMOV AX,[DATAX+2]ADD[DATAY+2],AX(3)本組指令的作用是:BX<------[DATAX]+[DATAY]+[1](CF的值)帶進位加法~(4)MOV AX,DATAXMUL DATAY;結果的高十六位保存在DX裏,低十六位保存在AX 裏(5)MOV AX,DATAXMOV DX,[DATAX+2]MUL DWORD DATAY;結果的高三十二位保存在EDX裏,低三十二位保存在EAX裏(6)MOV AX,DATAXDIV17H;結果商保存在AL中,余數在AH中(7)MOV AX,DATAXCDWDIV DATAY21.NEG DXNEG AXSBB DX,022.MOV AX,A;把雙字長數的低字放到AX中MOV DX,[A+2];把雙字長數的高字放到DX中TEST DX,8000H;測試雙字長數的符號JZ RIGHT;如果是非負數,則直接保存NEG DX;如果是負數,則求補NEG AXSBB DX,0RIGHT:MOV B,AXMOV[B+2],DX23.每條指令單獨執行完後的結果依次為:(1)9AH(2)61H(3)0FBH(4)1CH(5)0(6)0E3H24.執行指令序列後,BX的內容為:0DAH25.(1)把53D乘以2的程序:MOV AX,35H;53D=35HSHL AX,1(2)把53除以2的程序:MOV AX,35HSHR AX,126.這段程序完成的功能是:把DX:AX中的雙字數據左移4位(相當於乘以16D)27.各條指令單獨執行後,DX的值依次為:(1)5CH(2)17H(3)05C8H(4)72H(5)2017H(6)0CDH(7)0172H(8)05CCH(9)0DCH28.該程序段執行完後,BX寄存器的內容是:C02DH29.(1)从左到右把CONMAE中的字符串伟送到PRLINE的程序实现:LEA SI,CONAME;把CONAME中第一个字节的偏移地址送到SI中LEA DI,PRLINE;把PRLINE中第一个字节的偏移地址送到DI中MOV CX,20;把重复次数放到CX里CLD;让SI DI从低地址指向高地址(即从左到右传送)REP MOVSB;传送(2)从右到左把CONMAE中的字符串传送到PRLINE中的程序实现:LEA SI,CONAMELEA DI,PRLINEMOV CX,20STD;和上面唯一不同的就是这次是从右到左,所以要从高地址批向低地址REP MOVSB(3)把CONAME中的第三和第四個字節裝入AX的程序實現:LEA SI,[CONAME+3]LODSW(4)把AX寄存器的內容存入從PRLINE+5開始的字節中的程序實現:LEA DI,[PRLINE+5]STOSW(5)檢查CONAME字符串中有無空格字符,如有把它偉送給BH寄存器的程序實現:LEA DI,CONAME;把CONAME中第一個字符偏移地址放入DI中MOV CX,20;把重複次數放到CX中MOV AL,20H;把空格符的ASCII值放入AL中CLD;從低到高REPNE SCASB;比較MOV BH,[DI-1]R;把檢查到的空格符送到BH中30.MOV CX,12H;把重複次數放到CX中。

相关文档
最新文档