




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题一把下列2、8、16进制数转换成为十进制数(1)(1011011)2 (2)(0.10110)2 (3)(111111.01)2 (4)(1000001.11)2(5)(377)8 (6)(0.24)8 (7)(3FF)16 (8)(2A.4)16解: (1)(1011011)2=64+16+8+2+1=91另解:原式=(5B)16=5×16+11=91(2)(0.10110)2=0.5+0.125+0.0625=0.6875(3)(111111.01)2=32+16+8+4+2+1+0.25=63.25另解:原式=(1000000-1+0.01)2=64-1+0.25=63.25(4)(1000001.11)2=64+1+0.5+0.25=65.75(5)(377)8=3×64+7×8+7=255另解:原式=(400-1)8=4×64-1=255(6)(0.24)8=2×0.125+4×0.015625=0.3125(7)(3FF)16=3×256+15×16+15=1023另解:原式=(400-1)16=4×256-1=1023(8)(2A.4)16=2×16+10+4×0.0625=42.25另解:原式=2×16+10+4÷16=42.251.2把下列十进制数转换为2、16进制数 (1)(127)10 (2)(33)10 (3)(0.3)10 (4)(0.625)10 (5)(1023.5)10 (6)(377)10 (7)(1/1024)10 (8)(377/32)10解: (1)(127)10 =64+32+16+8+4+2+1=(1111111)2=(7F)16另解:原式=(128-1)10=(10000000-1)2=(1111111)2=(7F)16(2)(33)10 =32+1=(100001)2=(21)16(3)(0.3)10 =(0.010011001……)2=(0.4CCC……)16(4)(0.625)10=0.5+0.125=(0.101)2=(0.A)16(5)(1023.5)10=512+256+128+64+32+16+8+4+2+1+0.5=(1111111111.1)2=(3FF.8)16(6)(377)10 =256+64+32+16+8+1=(101111001)2=(179)16(7)(1/1024)10=(0.0000000001)2=(0.004)16(8)(377/32)10=(256+64+32+16+8+1)÷(32)=(101111001)2÷(100000)2=(1011.11001)2=(0B.C1)161.3把下列二进制数转换为十六进制数 (1)(100011)2 (2)(0.11101)2 (3)(11111.11)2 (4)(0.00101)2解: (1)(100011)2=(10’0011)2=(2)(0.11101)2=(0.1110’1000)2=(3)(11111.11)2=(1’1111.1100)2=1F(4)(0.00101)2=(0.0010’1000)2=1.4把下列十六进制数转换为二进制数 (1)(3B6)16 (2)(100)16 (3)(80.2)16 (4)(2FF.A)16解: (1)(3B6)16 =(001110110110)2(2)(100)16 =(000100000000)2 (3)(80.2)16 =(10000000.0010)2 (4)(2FF.A)16=(001011111111.1010)21.5如果用24b储存一个无符号数,这个数的范围是什么?如果储存的是一个补码表示的有符号数,那么这个数的范围又是什么?答:如果用24b储存一个无符号数,这个数的范围应为:0~224-1 如果用24b储存一个补码表示的有符号数,这个数的范围应为:-223~+223-11.6两个无符号数,它们的大小等于十进制数210和303,用N位二进制存储时,相加产生了进位,用N+1位二进制存储时,相加没有产生进位。这个N等于多少?为什么?答:210+303=513,29<513<210,取N=9时,相加会产生进位,取N=10,相加就不会产生进位,因此,本题中N=9。1.7两个8位二进制无符号数相加后没有产生进位,符号标志SF=1,它们和应在什么范围内?如果SF=0,那么和又在什么范围内?答:如果SF=1,它们的和应在27~28-1,也就是128~255之内。如果SF=0,它们的和应在0~27-1,也就是0~127之内。1.8两个8位补码表示的有符号数相加时,什么情况下会使进位标志等于“1”?相减时,又是什么情况下会使借位标志等于“1答:两个8位补码表示的有符号数相加时,下列情况会使进位标志等于“1”:两个负数相加;两个异号数相加,和为正(不会产生溢出)。两个8位补码表示的有符号数相减时,下列情况会使借位标志等于“1”:两个同号数相减,差为负(不会产生溢出);正数减负数(有可能产生溢出);1.9用符号“〉”把下面的数按从大到小的顺序“连接”起来 [X1]补=10110111[X2]原=10110111[X3]反=10110111[X4]补=10110110[X5]无符号数=10110111解:X1=-01001001B,X2=-0110111B,X3=-01001000B,X4=-01001010B,X5=+10110111B因此:X5>X2>X3>X1>X41.10用8位补码完成下列运算,用二进制“真值”的格式给出运算结果,并指出运算后CF、OF、ZF、SF、PF标志位的状态。 (1)127+126 (2)126-127 (3)-100-120 (4)-100-(-120)解:(1)127+126 [127]补=01111111,[126]补=01111110,[127+126]补=11111101,[127+126]=-00000011(溢出)COZSP=01010(2)126-127 [126]补=01111110,[-127]补=10000001,[126-127]补=11111111,[126-127]=-0000001COZSP=10011(3)-100-120 [-100]补=10011100,[-120]补=10001000,[-100-120]补=00100100,[-100-120]=+00100100(溢出)COZSP=01001(4)-100-(-120) [-100]补=10011100,[-120]补=10001000,[[-120]补]求补=01111000,[-100-(-120)]补=00010100,[-100-(-120)]=+00010100COZSP=000011.11把二进制代码1001011101011000分别“看作”是: (1)二进制无符号数 (2)二进制补码 (3)压缩BCD码 (4)非压缩BCD码 哪一种情况下它代表的“值”最大?答:看作二进制无符号数时,它代表的“值”最大。分析:看作二进制补码时,它代表一个负数,而其它的情况下,它均为正数。因此,看作二进制补码时,它代表的值最小。 把这组代码用十六进制数字形式写出:9758 对于无符号数,它的值等于十六进制的9758H; 对于压缩BCD码,它的值等于十进制的9758,显然小于9758H; 对于非压缩BCD码,它的值等于十进制的78,显然更小于9758H; 因此,看作二进制无符号数时,它代表的“值”最大。1.12CPU使用“寄存器”有什么好处?为什么?答:CPU使用寄存器主要有两个好处:寄存器位于CPU内部,访问寄存器比访问内存储器速度快;寄存器数量大大少于内存储器单元个数,标识寄存器使用的二进制代码比标识内存储器单元使用的二进制代码少得多,可以缩短指令长度。1.13已知8086系统某存储单元物理地址为12345H,写出4个可以与它对应的“逻辑地址”。答:可以与物理地址12345H对应的逻辑地址有:1234H:0005H,1230H:0045H,1220H:0145H,1224H:0105H,……1.14已知8086系统某存储单元物理地址为12345H,可以与它对应的“逻辑地址”中,段基址最大值,最小值分别是多少?答:可以与物理地址12345H对应的逻辑地址中,段基址的最大值为1234H,最小值为0235H。分析:偏移地址取最大值时,对应的段基址为最小。偏移地址可选的最大值为0FFF5H(最后一位必须为5),因此最小的段基址=(12345H-0FFF5H)/10H=0235H。偏移地址取最小值时,对应的段基址最大。偏移地址可选的最小值为0005H(最后一位必须为5),因此最大的段基址=(12345H-0005H)/10H=1234H。1.158086微机最多可以有多少个不同的“段基址”?为什么?答:由于段基址由16位二进制数表示,因此可以有216=65536个不同的段基址。1.16在图1-6中,假设已有(R1)=X,(R2)=Y,分别用它的机器指令和符号指令写出计算R0←4X+2Y的程序。想一想,怎样做才能尽量减少指令数量?答:假设已有(R1)=X,(R2)=Y,可以编制如下计算R0←4X+2Y的程序:符号指令 机器指令 注释MOV R0,R1 10000001(81H) R0←XADD R0,R1 10010001(91H) R0←X+XADD R0,R2 10010010(92H) R0←2X+YADD R0,R0 10010000(90H) R0←4X+2Y减少指令的方法是先计算出2X+Y,然后再计算4X+2Y。可以有多种不同的写法。1.17什么是“逻辑地址”?什么是“线性地址”?什么是“物理地址”?它们如何转换?答:由段的起始地址(段基址)或者段的编号和段内相对地址两部分表示的地址称为“逻辑地址”。 经过“分段机构”处理后,用一组二进制代码表示的地址称为“线性地址”。 经过“分页机构”处理后,用一组二进制代码表示的存储单元的“真实”的地址称为“物理地址”。物理地址的位数等于地址总线的宽度。工作在实地址模式下的80X86MPU不使用线性地址,物理地址=段基址×16+段内偏移地址。80X86MPU工作在保护模式下时,分段机构用段的编号在“段描述符表”中找到段的起始地址,加上偏移地址得到“线性地址”。分页机构把线性地址从高位到低位分解为“页组地址:页地址:页内地址”三部分,由页组地址(页组号)查找“页组表”,获得该页组对应的“页表”首地址。然后用页地址(页号)去查“页表”,得到该页的起始地址,拼接上页内地址,得到“物理地址”。保护模式下也可以关闭分页机构,此时线性地址等于物理地址。1.1832位80X86和16位80X86中央处理器的段寄存器有什么不同?答:16位80X86CPU的段寄存器长度为16位,存放的是一个段起始地址的高16位。 32位80X86CPU的段寄存器长度仍然为16位,存放的是一个段在“段描述符表”中的序号,表的编号(对每一个程序,有两张段描述符表)和这个段的优先级别。1.19叙述“保护模式”和“虚拟8086方式”之间的关系。答:保护模式是32位80X86MPU的工作方式,对当前运行的所有任务实施保护。虚拟8086方式是保护模式下某一个任务的工作模式,该任务使用类似于实地址方式下的物理地址产生方式,使用1MB的虚拟内存空间,主要用于运行8086程序。习题二2.1某数据段内有如下数据定义:X db 30,30H,‘ABC’,2-3,?,11001010B dw 0FFH,-2,“CD”Y dd 20dup(15,3dup(?),0)Z db 3dup(?)W dw Z-X 假设变量X的偏移地址为20H。按照图2-1的格式写出变量X各数据在内存中的具体位置和相关内存单元的值。写出变量Y,Z的偏移地址。写出变量W的值答:(1)变量X各数据在内存中的具体位置和相关内存单元的值如右图。变量Y的偏移地址为002EH;变量Z的偏移地址为002EH+4×5×20=01BEH变量W的值等于变量Z和X偏移地址之差01BEH-0020H=019EH它等于变量X、Y所占用内存单元的字节数。2.280x86指令系统有哪几种类型的指令操作数?比较使用不同类型操作数后的指令长度和指令执行时间。答:80X86指令系统按照长度划分,有以下四种指令操作数:寄存器操作数,指令短,执行速度快;立即操作数,指令较长,执行速度快;寄存器间接寻址和基址变址寻址表示的内存储器操作数,这类指令长度较短,执行速度较慢(需要访问存储器);直接地址,寄存器相对寻址,相对的基址变址寻址表示的内存储器操作数,这类指令长度较长,执行速度较慢(需要计算物理地址,访问存储器)。2.3 下列指令的源操作数段基址在哪个段寄存器中? (1)MOV AX,[BP][SI] (2)MOV AX,CS:8[DI] (3)MOV AX,2[EBP*1] (4)MOV AX,FS:4[ESP] (5)MOV AX,2[EBP][EAX] (6)MOV AX,[ECX][EBP*4] (7)MOC AX,[EDX][EBP] (8)MOV AX,ES:10[EBP][EAX*2]答:各指令源操作数段基址使用的段寄存器如下: (1)SS (2)CS (3)SS (4)FS (5)SS (6)DS (7)DS (8)ES2.4 判断下列指令是否正确。若不正确,指出错误原因 (1)MOV AX,[EBX] (2)MOV SI,DL (3)MOV EBP,[ESP][EAX*3](4)LEA AX,3006H (5)MOV [BP][DI],0 (6)MOV [SI],[DI] (7)MOV ES,1000H (8)MOV AX,X+2 (9)MOV AX,CX+2 (10)MOV [EAX][EAX*2],AL答:(1)指令MOV AX,[EBX] 是正确的。 (2)指令MOV SI,DL是错误的,两个操作数类型不匹配。 (3)指令MOV EBP,[ESP][EAX*3]是错误的,比例因子不能为3。(4)指令LEA AX,3006H是错误的,LEA指令的源操作数必须为内存操作数。 (5)指令MOV [BP][DI],0是错误的,操作数类型无法确定。(6)指令MOV [SI],[DI]是错误的,不能同时出现两个内存操作数。 (7)指令MOV ES,1000H是错误的,装载段寄存器时,源操作数不能为立即数。(8)如果“X”是用常数表达式定义的符号(例如:XEQU5+6),或者是用“DW”定义的内存变量,指令MOV AX,X+2是正确的。否则这条指令是错误的。 (9)指令MOV AX,CX+2是错误的,源操作数表达式CX+2不是一个可以直接计算的“常数表达式”。(10)指令MOV [EAX][EAX*2],AL是正确的。2.5 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,说明下列指令执行后AX寄存器的内容。 (1)MOV AX,1200H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,[BX] (5)MOV AX,1100H[BX] (6)MOV AX,[BX][SI] (7)MOV AX,1100H[BX][SI]答:(1)指令MOV AX,1200H执行后,(AX)=1200H(立即数操作数)。 (2)指令MOV AX,BX执行后,(AX)=0100H(寄存器操作数)。 (3)指令MOV AX,[1200H]执行后,(AX)=4C2AH(直接地址,EA=1200H) (4)指令MOV AX,[BX]执行后,(AX)=3412H(寄存器间接寻址,EA=0100H) (5)指令MOV AX,1100H[BX]执行后,(AX)=4C2AH(相对地址,EA=1200H) (6)指令MOV AX,[BX][SI]执行后,(AX)=7856H(基址变址寻址,EA=0102H)(7)指令MOV AX,1100H[BX][SI]执行后,(AX)=65B7H(相对基址变址寻址,EA=1202H)2.6 已经定义字符串MYSTRING如下: MYSTRING DB ‘ASampleforaddressing.’ 用适当的指令把这个字符串的第5,12个字符(注:第0个字符是’A’)送入BX寄存器。答:可以用如下两条指令完成: MOV BL,MYSTRING[5] MOV BH,MYSTRING[12]2.7 下面两条指令的功能有什么区别? MOV AX,BX MOV AX,[BX]答:指令“MOVAX,BX”把BX寄存器的内容装入到AX中。 指令“MOV AX,[BX]”把内存储器一个字的内容装入AX寄存器。该字的段基址在DS中,偏移地址在BX中。2.8 已经定义数据段如下: DATA SEGMENT NUM=56 X DB NUM Y DB 27 Z DW 148 DATA ENDS 指出下列指令中的错误: (1)MOV Y,X (2)MOV BL,04B8H (3)MOV AL,Z (4)MOV [BX],3(5)MOV [BX],[DI] (6)MOV DS,DATA(7)MOV NUM,AX (8)MOV ES,DS(9)MOV AX,FLAGS (10)MOV CS,AX答:(1)指令MOV Y,X同时出现了两个存储器操作数。(2)指令MOV BL,04B8H操作数类型不匹配(04B8H是16位立即数,BL是8位寄存器)。 (3)指令MOV AL,Z操作数类型不匹配(Z是16位操作数,BL是8位寄存器)。(4)指令MOV [BX],3操作数类型不能确定。(5)指令MOV [BX],[DI]出现了两个存储器操作数。(6)指令MOV DS,DATA不能把立即数装入段寄存器。(7)指令MOV NUM,AX立即数不能用作目的操作数。(8)指令MOV ES,DS不能在段寄存器之间直接传输。(9)指令MOV AX,FLAGS中,FLAGS寄存器只能隐含在少量指令中使用。(10)指令MOV CS,AX中,CS寄存器不能用作目的操作数。2.9用适当的指令,把下面字符串STRING中的“&”字符用空格代替。STRING DB “TheDateisFEB&03答:可以使用如下指令: MOV STRING[15],20H ;20H是空格的ASCII代码习题三3.1根据以下要求,写出对应的汇编语言指令把BX和DX寄存器内容相加,结果存入DX寄存器。使用BX和SI寄存器进行基址变址寻址,把存储器中一字节内容与AL内容相加,结果存入存储单元。用寄存器BX和位移量0B2H的寄存器相对寻址方式,把存储器中一个双字与ECX相加,结果存入ECX。用偏移地址1020H直接寻址,把存储单元一个字内容与立即数3相加,结果存入存储单元。将AL寄存器内容与立即数120相加,结果存入AL寄存器。答:(1) ADD DX,BX (2) ADD [BX][SI],AL (3) ADD ECX,[BX+0B2H] (4) ADD WORDPTR[1020H],3 (5) ADD AL,1203.2求以下各十六进制数与62A8H之和,并根据结果写出标志位SF、CF、ZF、OF的值。(1)1234H (2)4321H (3)0CFA0H (4)9D60H (5)0FFFFH答: (1)1234H+62A8H=74DCH SCZO=0000 (2)4321H+62A8H=0A5C(3)0CFA0H+62A8H=3248H SCZO=0100 (4)9D60H +62A8H=0008H SCZO=0100(5)0FFFFH+62A8H=62A7H SCZO=01003.3求以下各十六进制数与4AE0H之差,并根据结果写出标志位SF、CF、ZF、OF的值。(1)1234H (2)5D90H (3)9076H (4)0EA04H (5)0FFFFH答:1234H-4AE0H=0C754H SCZO=110090H-4AE0H=12B0H SCZO=00009076H-4AE0H=4597H SCZO=0001 0EA04H-4AE0H=9F24H SCZO=1000 0FFFFH-4AE0H=0B51FH SCZO=10003.4写出执行以下计算的指令序列,其中各变量均为16位有符号数。Z←W+(Z-X)Z←W-(X+6)-(R+9)Z←(W*X)/(Y+6),R←余数Z←(W-X)/(5*Y)*2解: (1) MOV AX,W MOV BX,Z SUB BX,X ADD AX,BX MOV Z,AX (2) MOV AX,W MOV BX,X ADD BX,6 SUB AX,BX MOV BX,R ADD BX,9 SUB AX,BX MOV Z,AX (3) MOV AX,W IMUL XMOV BX,YADD BX,9IDIV BXMOV Z,AXMOV R,DX (4) MOV AX,Y MOV BX,5 IMUL BX MOV BX,AX MOV AX,W SUB AX,X MOV CX,2 IMUL CX IDIV BX MOV Z,AX3.5一个双字长有符号数存放在DX(高位)AX(低位)中,写出求该数相反数的指令序列。结果仍存入DX,AX寄存器解:NOT DX ;首先将(DX,AX)取反 NOT AX ADD AX,1 ;最低位加1,注意:不能用INC指令 ADC DX,0 ;把进位(如果有)传递到高位3.6指令DECBX和SUBBX,1的执行结果一样吗?请分析。解:指令DECBX和SUBBX,1分别执行后,BX寄存器内的值相同,但是CF标志位的状态可能不同,这是由于DEC指令执行后不改变CF的状态。3.7已知内存变量X,Y,Z均由“DB”伪操作定义,按照以下要求,使用MOVZX或MOVSX指令进行位数扩展,求三个数的16b和。如果X,Y,Z为无符号数如果X,Y,Z为有符号数解:(1) MOVZX AX,X MOVZX BX,Y ADD AX,BX MOVZX BX,Z ADD AX,BX (2) MOVSX AX,XMOVSX BX,Y ADD AX,BX MOVSX BX,Z ADD AX,BX3.8内存缓冲区BUFFER定义如下,按照要求,写出指令序列 BUFFER DB 20DUP(?)将缓冲区全部置为0,并使执行时间最短将缓冲区全部置为空格字符(ASCII代码20H),使用的指令条数最少将缓冲区各字节依次设置为0,1,2,3,4,……,19将缓冲区各字节依次设置为0,-1,-2,-3,-4,……,-19将缓冲区各字节依次设置为30,29,28,27,……,11将缓冲区各字节依次设置为0,2,4,6,8,……,38将缓冲区各字节依次设置为0,1,2,3,0,1,2,3,……,3解: (1) XOR EAX,EAX MOV DWORDPTR[BUFFER],EAX MOV DWORDPTR[BUFFER+4],EAX MOV DWORDPTR[BUFFER+8],EAX MOV DWORDPTR[BUFFER+12],EAX MOV DWORDPTR[BUFFER+16],EAX (2) MOV AL,20H MOV CX,20 LEA BX,BUFFER ONE:MOV [BX],AL INC BX LOOP ONE (3) XOR BX,BX MOV CX,20 ONE:MOV BUFFER[BX],BL INC BX LOOP ONE (4) XOR BX,BX XOR AL MOV CX,20 ONE:MOV BUFFER[BX],AL INC BX DEC AL LOOP ONE (5) XOR BX,BX MOV AL,30 MOV CX,20 ONE:MOV BUFFER[BX],AL INC BX DEC AL LOOP ONE (6) XOR BX,BX XOR AL MOV CX,20 ONE:MOV BUFFER[BX],AL INC BX ADD AL,2 LOOP ONE (7) XOR BX,BX MOV CX,5 ONE:MOV BUFFER[BX],0MOV BUFFER[BX+1],1MOV BUFFER[BX+2],2MOV BUFFER[BX+3],3 ADD BX,4 LOOP ONE3.9编写循环结构程序,进行下列计算,结果存入RESULT内存单元1+2+3+4+5+6+……+1001+3+5+7+9+11+……+992+4+6+8+10+……+1001+4+7+10+13+……+10011+22+33+44+……+99解: (1) CODE SEGMENT ASSUME CS:CODE RESULT DW ? START: XOR AX,AX MOV CX,100 AGAIN: ADD AX,CX LOOP AGAIN MOV RESULT,AX MOV AX,4C00H INT 21H CODE ENDS END START (2)CODE SEGMENT ASSUME CS:CODE RESULT DW ? START: XOR AX,AX MOV CX,50 MOV BX,1 AGAIN: ADD AX,BX ADD BX,2 LOOP AGAIN MOV RESULT,AX MOV AX,4C00H INT 21H CODE ENDS END START (3) CODE SEGMENT ASSUME CS:CODE RESULT DW ? START: XOR AX,AX MOV CX,50 MOV BX,2 AGAIN: ADD AX,BX ADD BX,2 LOOP AGAIN MOV RESULT,AX MOV AX,4C00H INT 21H CODE ENDS END START (4) CODE SEGMENT ASSUME CS:CODE RESULT DW ? START: XOR AX,AX MOV CX,34 MOV BX,1 AGAIN: ADD AX,BX ADD BX,3 LOOP AGAIN MOV RESULT,AX MOV AX,4C00H INT 21H CODE ENDS END START (5) CODE SEGMENT ASSUME CS:CODE RESULT DW ? START: XOR AX,AX MOV CX,9 MOV BX,11 AGAIN: ADD AX,BX ADD BX,11 LOOP AGAIN MOV RESULT,AX MOV AX,4C00H INT 21H CODE ENDS END START3.10已知ARRAY是5行5列的有符号字数组,编写程序,进行下列计算(假设和仍然为16b,不会产生溢出)求该数组第4列所有元素之和(列号从0开始)求该数组第3行所有元素之和(行号从0开始)求该数组正对角线上所有元素之和求该数组反对角线上所有元素之和解:假设数据段已定义如下: DATA SEGMENT ARRAY DW 1,6,9,23,12 ;定义数组ARRAY DW 54,23,15,-92,37 ;每一行5个数据 DW -99,231,76,81,90 ;共5行 DW 33,67,81,-99,0 ;共计25个数据 DW 123,-52,77,-180,89 SUM DW ? ;SUM存放结果 DATA ENDS (1)CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,0 ;累加器在循环之前清零 MOV CX,5 ;计数器置初值 MOV SI,4*2 ;第1行第4列元素在数组内的位移 NEXT: ADD AX,ARRAY[SI] ADD SI,5*2 ;SI指向下一行第4列元素 LOOP NEXT MOV SUM,AX MOV AX,4C00H INT 21H CODE ENDS END START (2)CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,0 ;累加器在循环之前清零 MOV CX,5 ;计数器置初值 MOV SI,3*5*2 ;第3行第0列元素在数组内的位移 NEXT: ADD AX,ARRAY[SI] ADD SI,2 ;SI指向本行下一列元素 LOOP NEXT MOV SUM,AX MOV AX,4C00H INT 21H CODE ENDS END START (3)CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,0 ;累加器在循环之前清零 MOV CX,5 ;计数器置初值 MOV SI,0 ;第0行第0列元素在数组内的位移 NEXT: ADD AX,ARRAY[SI] ADD SI,5*2+2 ;SI指向正对角线上下一个元素 LOOP NEXT MOV SUM,AX MOV AX,4C00H INT 21H CODE ENDS END START (4)CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,0 ;累加器在循环之前清零 MOV CX,5 ;计数器置初值 MOV SI,4*2 ;第0行第4列元素在数组内的位移 NEXT: ADD AX,ARRAY[SI] ADD SI,(5-1)*2 ;SI指向反对角线上下一个元素 LOOP NEXT MOV SUM,AX MOV AX,4C00H INT 21H CODE ENDS END START3.11编写程序,利用公式:N2=1+3+5+……+(2N-1)计算N2的值,假设N=23。解: DATA SEGMENT N DW 23 SQUARE DW ? ;存放结果 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,N ;循环计数器置初值 XOR AX,AX ;累加器清零 MOV BX,1 ;数列第一项 ONE: ADD AX,BX ADD BX,2 LOOP ONEMOV SQUARE,AX MOV AX,4C00H INT 21H CODE ENDS END START 3.12变量X,Y,Z均为一字节压缩BCD码表示的十进制数,写出指令序列,求它们的和(用2字节压缩BCD码表示)。解: XOR AX,AX ;清AX,用于存放2字节结果 MOV AL,X ADD AL,Y ;完成X+Y DAA ;压缩BCD码加法调整 ADC AH,0 ;把可能的进位收集到AH中 ;AH中最大的可能值为2,因此不需要BCD加法调整 ADD AL,Z ;完成X+Y+Z DAA ;压缩BCD码加法调整 ADC AH,0 ;把可能的进位收集到AH中 ;计算完成,结果(2字节压缩BCD码)在AX中3.13数组LIST1内存有20个非压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(非压缩BCD码)存入SUM1双字单元。解: CODE SEGMENT ASSUME CS:CODE LIST1 DB ‘6705762998’ DB ‘4322687310 SUM1 DD ? ;存放结果(20个数之和) START: XOR AX,AX ;累加器清零 MOV CX,20 ;循环计数器置初值 LEA BX,LIST1 ;地址指针置初值 ONE: ADD AL,CS:[BX] ;加入一个非压缩BCD数 AAA ;调整,结果在AH(百位、十位),AL(个位)中 INC BX ;修改指针 LOOP ONE ;循环控制 MOV BYTEPTRSUM1,AL ;保存个位 MOV AL,AH MOV AH,0 ;百位、十位(二进制)存入AX AAM ;分解百位到AH,十位到AL MOV WORDPTRSUM1+1,AX ;保存百位、十位 MOV BYTEPTRSUM1+3,0 ;千位清零(和最大为9*20=180) MOV AX,4C00H INT 21H CODE ENDS END START3.14数组LIST2内存有20个压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM2双字单元。解: CODE SEGMENT ASSUME CS:CODE LIST2 DB 12H,34H,56H,15H,82H,52H,48H,19H,31H,63H DB 22H,33H,44H,55H,66H,77H,88H,99H,11H,39H SUM2 DD ? START: XOR AX,AX ;累加器清零 XOR BX,BX ;地址指针置初值 MOV CX,20 ;循环计数器置初值 ONE: ADD AL,LIST2[BX] ;加入一个压缩BCD数 DAA ;调整 XCHG AH,AL ;交换AH和AL ADC AL,0 ;收集进位(百位、千位) DAA ;高位(百位、千位)调整 XCHG AH,AL ;恢复AH和AL ;(AH)=千位、百位,(AL)=十位、个位 INC BX ;修改指针 LOOP ONE ;循环控制 MOV WORDPTRSUM2,AX ;保存千、百、十、个位 MOV WORDPTRSUM2+2,0;高位清零 MOV AX,4C00H INT 21H CODE ENDS END START3.15数组LIST3内存有20个压缩BCD码表示的双字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM3双字单元。解: CODE SEGMENT ASSUME CS:CODE LIST3 DW 1234H,3456H,5678H,1523H,8263H,DW 5234H,4856H,1926H,3177H,6389H DW 2211H,3322H,4433H,5544H,6655HDW 7766H,8877H,9988H,1167H,3944H SUM3 DD ? START: XOR DX,DXXOR AX,AX ;累加器清零 LEA BX,LIST3 ;地址指针置初值 MOV CX,20 ;循环计数器置初值 ONE: ADD AL,CS:[BX] ;加入第一字节压缩BCD数(十位、个位) DAA ;调整 XCHG AH,AL ;交换AH和AL INC BX ;修改指针,指向高位字节(千位、百位) ADC AL,CS:[BX] ;高位累加,并收集低位进位 DAA ;高位(百位、千位)调整XCHG AH,AL ;恢复AH和AL ;(AH)=千位、百位,(AL)=十位、个位 INC BX ;修改指针 XCHG DX,AX ;交换AX和DXADC AL,0 ;收集千位上的进位 DAA ;调整,得到和的十万位和万位 XCHG DX,AX ;恢复DX和AX LOOP ONE ;循环控制 MOV WORDPTRSUM3,AX ;保存千、百、十、个位 MOV WORDPTRSUM3+2,DX ;保存十万位和万位 MOV AX,4C00H INT 21H CODE ENDS END START3.16设(BX)=0E3H,变量VALUE中存放内容为79H,指出下列指令单独执行后的结果。(1)XOR BX,VALUE(2)AND BX,VALUE(3)OR BX,VALUE(4)XOR BX,0FFH(5)AND BX,BX(6)AND BX,0答:(1)指令“XOR BX,VALUE”执行后,(BX)=009AH(2)指令“AND BX,VALUE”执行后,(BX)=0061H(3)指令“OR BX,VALUE”执行后,(BX)=00FBH(4)指令“XOR BX,0FFH”执行后,(BX)=001CH(5)指令“AND BX,BX”执行后,(BX)=00E3H(6)指令“AND BX,0”执行后,(BX)=00003.17某密码的加密规则为:‘0’→‘A’,‘1’→‘B’,‘2’→‘C’把明文“96541833209881”翻译为密文。把密文“JJBDAHCFFGA”翻译成明文。答:明文“96541833209881”翻译为密文。CODE SEGMENT ASSUME CS:CODETEXT1 DB ‘96541833209881’ TEXT2 DB 14DUP(?) START: MOV BX,0 MOV CX,14 NEXT: MOV AL,TEXT1[BX] ;取出一字节明文 ADD AL,‘A’-‘0’ MOV TEXT2[BX],AL ;保存 INC BX LOOP NEXT MOV AX,4C00H INT 21H CODE ENDS END START密文“JJBDAHCFFGA”翻译成明文。CODE SEGMENT ASSUME CS:CODETEXT1 DB ‘JJBDAHCFFGA’ TEXT2 DB 11DUP(?) START: MOV BX,0 MOV CX,11 NEXT: MOV AL,TEXT1[BX] ;取出一字节密文 SUB AL,‘A’-‘0’ MOV TEXT2[BX],AL ;保存 INC BX LOOP NEXT MOV AX,4C00H INT 21H CODE ENDS END START3.18编写程序,从键盘上输入一行明文,按照题3.17的规则翻译成密文,向显示器输出。答: DATA SEGMENT MESS DB 0DH,0AH,“Inputsometextplease:$” OUTMESS DB 0DH,0AH,‘Thetextafterconvert:’BUFFER DB 81,?,81DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS MOV AH,09H INT 21H ;输出提示信息 LEA DX,BUFFER MOV AH,0AH INT 21H ;输入一行明文 MOV CL,BUFFER+1 MOV CH,0 ;输入字符个数送CX LEA BX,BUFFER+2 ;首字符地址送BX NEXT: MOV AL,[BX] ADD AL,‘A’-‘0’ MOV [BX],AL ;保存 INC BX LOOP NEXT MOV BYTEPTR[BX],‘$’ ;送字符串结束标记 MOV WORDPTRBUFFER,2020H ;缓冲区前2字节改为空格 LEA DX,OUTMESS MOV AH,09H INT 21H ;输出转换以后的结果 MOV AX,4C00H INT 21H CODE ENDS END START3.19变量X用DT定义,存有80b有符号数,编写程序,求X的相反数,存入同样用DT定义的变量Y。答: CODE SEGMENT ASSUME CS:CODE X DT 1234567890H Y DT ? START: MOV CX,10 ;循环计数器置初值 XOR BX,BX ;地址指针置初值 ONE:MOV AL,BYTEPTRX[BX] NOT AL ;X的一字节内容取反 MOV BYTEPTRY[BX] ;存入Y的一个字节内 INC BX LOOP ONE ADD BYTEPTRY,1 ;Y的低位字节加1 LEA BX,Y+1 ;从Y的第2字节开始处理 MOV CX,9 ;共9个字节 TWO: ADC BYTEPTRCS:[BX],0 ;收集低位来的进位 INC BX ;修改指针 LOOP TWO ;循环控制 MOV AX,4C00H INT 21H CODE ENDS END START3.20编写程序,使用库子程序,从键盘上输入8个有符号字数据,求它们的和,以十进制格式输出。答: INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,‘Inputanumberplease:$’ MESS2 DB 0DH,0AH,‘Thesumis:$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX XOR BX,BX ;BX用作累加器,清零 MOV CX,8 ;循环计数器置初值 AGAIN: LEA DX,MESS1 CALL READINT ;输入一个数据(在AX中) ADD BX,AX ;累加 LOOP AGAIN LEA DX,MESS2 MOV AX,BX CALL WRITEINT ;输出8个数的和 CALL CRLF MOV AX,4C00H INT 21H CODE ENDS END START3.21编写程序,从键盘上输入20个十进制数字,求这些数字的和,向显示器输出。答: INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,‘Input20decimaldigitsplease:$’ MESS2 DB 0DH,0AH,‘Theirsumis:$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS1 MOV AH,09H INT 21H ;输出提示信息 XOR BX,BX ;BX用作累加器,清零 MOV CX,20 ;循环计数器置初值 AGAIN: MOV AH,01H INT 21H ;输入一个数字(在AL中) AND AL,0FH ;转换成二进制数 ADD BL,AL ;累加 ADC BH,0 LOOP AGAIN LEA DX,MESS2 MOV AX,BX CALL WRITEDEC ;输出20个数字的和 CALL CRLF MOV AX,4C00H INT 21H CODE ENDS END START3.22阅读以下程序,指出它的功能。 MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL答:把32位二进制代码(DX,AX)联合左移4位。3.23已知(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行以后DX寄存器的值。(1)SHR DX,1(2)SAR DX,CL(3)SHL DX,CL(4)SHL DL,1(5)ROR DX,CL(6)ROL DX,CL(7)SAL DH,1(8)RCL DX,CL(9)RCR DL,1答:(1)指令“SHR DX,1”(2)指令“SAR DX,CL”执行之后,(DX)=0017H(3)指令“SHL DX,CL”执行之后,(DX)=05C8H(4)指令“SHL DL,1”(5)指令“ROR DX,CL”执行之后,(DX)=2017H(6)指令“ROL DX,CL”执行之后,(DX)=05C8H(7)指令“SAL DH,1”(8)指令“RCL DX,CL”执行之后,(DX)=05CCH(9)指令“RCR DL,1”3.24下面程序段执行完成后,BX寄存器的内容是什么? MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL答:上面程序段执行完成后,(BX)=0C02DH写程序,从键盘上输入一个0~65535之间的十进制无符号数,然后用二进制格式输出这个值。例如,键盘输入“35”,显示器输出“0000000000100011”。答: INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,‘Inputaunsigneddecimalintegernumberplease:$’ MESS2 DB 0DH,0AH,‘Thenumberinbinaryis:$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS1CALL READDEC ;输入一个无符号整数MOV BX,AX ;转存入BXLEA DX,MESS2MOV AH,09HINT 21H ;输出提示信息 MOV CX,16 ;循环计数器置初值 AGAIN: SHL BX,1 ;向左外移一位,进入CF MOV DL,30H ADC DL,0 ;形成一位二进制数字的ASCII代码 MOV AH,2 INT 21H ;输出一个二进制数字 LOOP AGAIN ;循环16次 CALL CRLF MOV AX,4C00H INT 21H CODE ENDS END START3.26无符号数变量X用DD定义,编写程序,用十六进制格式输出变量X的值。答: .386 DATA SEGEMNT USE16 X DD 36895471 ;一个32B长整数 MESS DB 0DH,0AH,‘TheXinhexdecimalis:$’ HEXTAB DB ‘0123456789ABCDEF’ DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS MOV AH,09H INT 21H ;输出前导信息MOV ESI,X ;将X存入ESI MOV CX,8 ;循环计数器置初值 LEA BX,HEXTAB ;换码表首地址装入BX AGAIN: ROL ESI,4 ;把最高4位移到最低4位上 MOV AX,SI ;低8位转入AL AND AX,0004H ;清除高4位XLAT ;转换成十六进制数字的ASCII代码MOV DL,ALMOV AH,2INT 21H ;输出一个十六进制数字 LOOP AGAIN ;循环16次 MOV AX,4C00H INT 21H CODE ENDS END START3.27从键盘上输入两个有符号字整数A和B,计算并输出它们的和、差、积、商和余数。答: INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,‘Inputaintegernumberplease:$’ MESS2 DB 0DH,0AH,‘Thesumof2numberis:$’ MESS3 DB 0DH,0AH,‘Thedifferenceof2numberis:$’ MESS4 DB 0DH,0AH,‘Theproductof2numberis:$’ MESS5 DB 0DH,0AH,‘Thequotientof2numberis:$’ MESS6 DB 0DH,0AH,‘Theremainderof2numberis:$’ A DW ? B DW ?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS1CALL READINT ;输入第一个有符号整数MOV A,AX LEA DX,MESS1CALL READINT ;输入第二个有符号整数MOV B,AXADD AX,A ;求两个数的和LEA DX,MESS2CALL WRITEINT ;输出两个数的和MOV AX,ASUB AX,B ;求两个数的差LEA DX,MESS3CALL WRITEINT ;输出两个数的差MOV AX,AIMUL B ;求两个数的积,假设仍然是16位LEA DX,MESS4CALL WRITEINT ;输出两个数的积MOV AX,ACWDIDIV B ;求两个数的商和余数PUSH DXLEA DX,MESS5CALL WRITEINT ;输出两个数的商POP AXLEA DX,MESS6CALL WRITEINT ;输出两个数的余数CALL CRLF MOV AX,4C00H INT 21H CODE ENDS END START3.28数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。答: DATA SEGEMNTARRAY DW -386,97,213,21,77,-91,56,7,123,65 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,6*2 ;第六个元素在数组内的位移 MOV CX,4 ;循环计数器置初值 AGAIN: MOV AX,ARRAY[BX] ;取出一个元素 MOV ARRAY[BX-2],AX ;向前移动一个位置 ADD BX,2 ;修改指针 LOOP AGAIN ;循环4次 MOV ARRAY[BX],0 ;最后一个元素清零 MOV AX,4C00H INT 21H CODE ENDS END START3.29编写指令序列,把AX中的16b二进制分为4组,每组4b,分别置入AL,BL,CL,DL中。答: MOV DX,AX ;最低4位直接进入DXMOV CX,4 ROL AX,CL ;最高4位移入最低4位 PUSH AX ;压入堆栈保存(准备送入AL) ROL AX,CL ;次高4位移入最低4位 MOV BX,AX ;送入BL ROL AX,CL ;第3组4位移入最低4位 MOV CX,AX ;送入CL POP AX ;从堆栈中弹出原最高4位 AND AX,000FH ;清除高12位 AND BX,000FH ;清除高12位 AND CX,000FH ;清除高12位 AND DX,000FH ;清除高12位习题四4.1什么是“三种基本结构”?解释“基本”两个字在其中的含义。答:三种基本结构指:顺序结构,选择结构、循环结构。 使用这3种结构,可以编制出任何所需要的程序,因此冠以“基本”结构。4.2什么叫做“控制转移指令”?它和数据传送、运算指令有什么区别?它是怎样实现它的功能的?答:控制转移指令是可以改变指令执行顺序的指令。数据传送、运算指令总是顺序执行的,而控制转移指令通过改变IP和/或CS寄存器的值,改变了程序指令的执行顺序。4.3指令“JMP DI”和“JMP WORDPTR[DI]”作用有什么不同?请说明。答:上述两条指令都是段内近转移指令,但是偏移地址的来源不同。指令“JMP DI”执行时,新的偏移地址在DI寄存器内,“JMP WORDPTR[DI]”时,目的偏移地址在存储单元中,该存储单元的地址在DS:DI中。4.4什么是“近程”转移?什么是“远程”转移?它们的实现方法有什么不同?答:执行“近程”转移时,转移的目的地与出发地在同一个段内,它们具有相同的段基址。因此,为了实现“近程”转移,只需要改变IP寄存器的值。“远程”转移的目的地与出发地不在同一个段,为了实现这个转移,必须同时改变CS和IP寄存器的值。4.5已知(AX)=836BH,X分别取下列值,执行“CMP AX,X”后,标志位ZF、CF、OF、SF各是什么?(1)X=3000H (2)X=8000H (3)X=7FFFFH (4)X=0FFFFH (5)X=0答:上述指令执行后,标志位ZF、CF、OF、SF的状态分别是:(1)ZCOS=0010(2)ZCOS=0000(3)ZCOS=0010(4)ZCOS=0101(5)ZCOS=00014.6已知(AX)=836BH,X分别取下列值,执行“TEST AX,X”后,标志位ZF、CF、OF、SF各是什么?(1)X=0001H (2)X=8000H (3)X=0007H (4)X=0FFFFH (5)X=0答:上述指令执行后,标志位ZF、CF、OF、SF的状态分别是:(1)ZCOS=0000(2)ZCOS=0001(3)ZCOS=0000(4)ZCOS=0001(5)ZCOS=10004.7测试名为X的一个字节,如果X的第1,3位均为1,转移到L1,如果只有一位为1,转移到L2,如果两位全为0,转移到L3。写出对应的指令序列。答: MOV AL,X AND AL,00001010B JZ L3 CMP AL,00001010B JE L1 JMP L24.8假设X和X+2字单元存放有双精度数P,Y和Y+2字单元存放有双精度数Q,下面程序完成了什么工作? MOV DX,X+2 MOV AX,X ;双精度数P送入DX,AXADD AX,XADC DX,X+2 ;计算2*P送入DX,AX CMP DX,Y+2 ;2P与Q的高位比较 JL L2 ;2P<Q,转L2(Z=2) JG L1 ;2P>Q,转L1(Z=1) CMP AX,Y ;如果高位相等,则比较低位 JBE L2 ;2P的低位小于等于Q的低位,转L2(Z=2)L1: MOV Z,1 JMP SHORT EXITL2: MOV Z,2EXIT: ……答:程序根据2P与Q的大小,确定Z的值。 如果2P≤Q,则Z=2 如果2P>Q,则Z=1 请参阅程序注解4.9编写指令序列,将AX和BX中较大的绝对值存入AX,较小的绝对值存入BX。答: AND AX,AX JGE SKIP1 NEG AXSKIP1: AND BX,BX JGE SKIP2 NEG BXSKIP2: CMP AX,BX JGE SKIP3 XCHG AX,BXSKIP3: ……4.10编写指令序列,比较AX、BX中的数的绝对值,绝对值较大的数存入AX,绝对值较小的数存入BX。答: PUSH AX PUSH BXAND AX,AX JGE SKIP1 NEG AXSKIP1: AND BX,BX JGE SKIP2 NEG BXSKIP2: CMP AX,BX POP BX POP AX JGE SKIP3 XCHG AX,BXSKIP3: ……4.11编写指令序列,如果AL寄存器存放的是小写字母,把它转换成大写字母,否则不改变AL内容。答: CMP AL,‘a’ JB DONE CMP AL,‘z’ JA DONE SUB AL,‘a’-‘A’DONE: ……4.12计算分段函数: X的值从键盘输入,Y的值送显示器输出。答: INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,‘InputvalueofXplease:$’ MESS2 DB 0DH,0AH,‘Y=:$’DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS1CALL READINT ;输入X的值CMP AX,-2JGE L2 L1: SUB AX,3 ;AX←X-3 JMP DONE L2: CMP AX,3 JG L3 MOV BX,AX ADD AX,AX ;AX←2X ADD AX,AX ;AX←4X ADD AX,BX ;AX←5X ADD AX,6 ;AX←5X+6 JMP DONE L3: MOV AX,2 ;AX←2 DONE: LEA DX,MESS2CALL WRITEINT ;输出Y的值CALL CRLF MOV AX,4C00H INT 21H CODE ENDS END START4.13计算分段函数:A,B的值从键盘输入,Y的值送显示器输出(∧表示“并且”,∨表示“或者”)。答: INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,‘InputthevalueofAplease:$’ MESS2 DB 0DH,0AH,‘InputthevalueofBplease:$’ MESS3 DB 0DH,0AH,‘Y=:$’ A DW ? B DW ?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MESS1CALL READINT ;输入AMOV A,AX LEA DX,MESS2CALL READINT ;输入BMOV B,AXAND AX,AXJL L1 ;B<0,转L1CMP A,0JL L1 ;A<0,转L1JNZ SKIP1CMP B,0JZ L2 ;A=0&&B=0,转L2JMP EXIT ;A=0&&B≠0,无定义,转EXIT SKIP1: CMP B,0 JLE EXIT ;A≠0&&B=0,无定义,转EXIT L3: MOV AX,A SUB AX,B JMP DISP L2: MOV AX,2 JMP DISP L1: MOV AX,A ADD AX,B DISP: LEA DX,MESS2CALL WRITEINT ;输出Y的值CALL CRLF EXIT: MOV AX,4C00H INT 21H CODE ENDS END START说明:如果把A、B看作是平面直角坐标的两根轴,那么这个函数在A,B的正轴上无定义。无法计算,也无法输出结果。4.14编写程序,求10元素字数组LIST中绝对值最小的数,存入MIN单元。答: DATA SEGEMNT LIST D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年对外经济贸易考试试题及答案
- 2025年城市交通与规划管理考试试卷及答案
- 2025浙江省中考数学试卷
- 培训机构小学硬笔书法课程
- 2025年许昌机动车教练员从业资格证考试题库
- 保护环境的演讲稿话题演讲10篇
- 小动物观察日记写物作文(10篇)
- 大班防汛安全教育
- 2025年河北省沧州市盐山县八下英语期末质量跟踪监视试题含答案
- 公司技术服务服务协议
- 国家能源集团陆上风电项目通 用造价指标(2024年)
- MOOC 国际商务-暨南大学 中国大学慕课答案
- Python数据分析与数据挖掘 课件 第6、7章 Pandas基础与应用、Matplotlib
- 玻璃体手术并发症的预防及处理
- 2023年医学高级职称-中医肛肠(医学高级)考试历年高频考点试题含答案
- 爬架拆除技术交底
- pergeos软件教程评价许可介绍
- 出租车 专业部分考核试题 城市客运企业主要负责人和安全生产管理人员安全考核基础题库
- GB/T 9634.3-2002铁氧体磁心表面缺陷极限导则第3部分:ETD和E形磁心
- GB/T 8478-2008铝合金门窗
- 人教版七年级下册数学《期末检测试卷》
评论
0/150
提交评论