网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

写出程序段 将AX和DX中的BCD码相加并进行十进制调整


参考答案和解析
PUSH AX PUSH CX MOV AX,DX ADD AL,BL ;低字节相加 DAA ;低字节调整 MOV CL.AL MOV AL,AH ADC AL,BH ;高字节相加 DAA ;高字节调整 MOV DH,AL MOV DL,CL POP CX POP AX ADD AL,CL ;低字节相加 DAA ;低字节调整 MOV BL,AL MOV AL,AH ADC AL,CH ;高字节相加 DAA ;高字节调整 MOV CH,AL MOV CL,BL
更多 “写出程序段 将AX和DX中的BCD码相加并进行十进制调整” 相关考题
考题 将十进制数26以压缩BCD码送入AX,正确的指令是(65)。A.mov ax, 0206hB.mov ax, 0026C.mov ax,0026hD.mov ax,0206

考题 为了将AL寄存器中的组合(PackeD) BCD码45H转换为两个非组合(UnpackeD) BCD码04H和05H,并分别存放在AH和AL寄存器中,应在下面的指令序列的横线处填写什么指令?MOV AX,45HMOV CL,4______ AX,CLSHR AL,CL

考题 请编制程序PROG1.ASM,其功能是:将连续20个字节的ASCII码(30~39之间)顺序转换成10个压缩BCD码。例如:原始数据 31H,33H,35H,38H……(后面依次有16个ASCII码)转换后为 13H,58H,……(后面依次有8个压缩BCD码)部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果(要求从RESULT开始存入)由SAVE过程保存到OUTPUT. DAT中。请在BEGIN和END之间补充一段源程序,完成要求的功能。原有数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由SAVE保存到OUTPUT1.DAT文件对程序必须进行汇编,并与IO.OBJ连接产生PROG1.EXE执行文件,最终产生运行结果(无结果或结果不正确均不得分)。部分程序如下:EXTRN LOAD:FAR,SAVE:FARN EQU 20STAC SEGMENT STACKDB 128 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB 31H,32H,33H,34H,35H,36H,37H,38HRESULT DB N DUP(0)NAME0 DB 'INPUT1.DAT', 0NAME1 DB 'OUTPUT1.DAT', 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N ; 字节数CALL LOAD ; 从 "INPUT1. DAT"中读取数据**** BEGIN ******** END ****LEA DX,RESULT ; 结果数据区首地址LEA SI, NAME1 ; 结果文件名MOV CX,N ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START相关知识:●BCD码和压缩BCD码BCD码就是以二进制数表示十进制数,以4位二进制数表示1位十进制数,0000~1001表示0~9,1010~1111六个状态无意义。非压缩BCD码以一个字节表示一位BCD码,压缩BCD码一个字节表示两位BCD码。●ASCII码与压缩BCD码之间的转换0~9的ASCH码为30H~39H,从数字的ASCII码求数字本身,只要用他的ASCII码减去30H即可。由两位非压缩BCD码构成一个字节的压缩BCD码可将高位的BCD码移到高四位,然后与低位的BCD码进行逻辑或(OR)操作即可完成。编程思路:第一步:分析本程序要求完成的功能。本程序要求完成以下功能:(1)从数据文件INPUT1.DAT中读取20个字节的ASCII码存放在SOURCE开始的内存单元中。(2)将SOURCE开始的20个ASCII码求出其对应的数值,然后转换成压缩的BCD码,依次放在RESULT开始的内存单元中。(3)将处理之后的字符串存入到OUTPUT1.DAT。第二步:用相应汇编程序来实现其功能。(1)数据的读取和存入题目中已经给出,只要完成20个ASCII码到压缩BCD的转换即可。(2)由ASCII码到压缩BCD码的转换过程如下:由于20位ASCII码正好转换成10个字节压缩BCD码,不存在某个字节的BCD码只有一位。因此依次从SOURCE开始的内存单元取两个ASCII码,前一个转换成压缩BCD码的高位,后一个转换成压缩BCD码的低位来构成压缩BCD码;每两个ASCII码转换成一个字节的压缩BCD码,直至转换完毕。

考题 用MOV指令将十进制数89以组合型BCD码格式送入AX,正确使用的指令是( )。A.MOV AX,0890B.MOV AX,0809HC.MOV AX,0089HD.MOV AX,8009

考题 用MOV指令将十进制数89以组合型BCD码格式送入AX,正确使用的指令是( )。A.MOVAX,0890B.MOVAX,0809HC.MOVAX,0089HD.MOVAX,8009

考题 58的非压缩BCD和压缩BCD各如何表示?写出存入DX的指令。

考题 8421BCD码0011与5421BCD码1001对应的十进制数分别是6和3。

考题 将十进制数25以压缩BCD码格式送AL,正确的传送指令是()A、MOV AX,0025HB、MOV AX,0025C、MOV AX,0205HD、MOV AX,0205

考题 将下列十进制数转换成8421BCD码。①2006②123.456

考题 将十进制数319转化为BCD码是多少?

考题 将下列十进制数转换成8421BCD码、5211BCD码和余三BCD码: (1)(76)10; (2)(167.358)10; (3)(0.912)10; (4)(64.51)10。

考题 数组LIST2内存有20个压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM2双字单元。

考题 数组LIST1内存有20个非压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(非压缩BCD码)存入SUM1双字单元。

考题 实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()。A、SHL AX,2 ROL DX,2B、RCL AX,2 SHL DX,2C、MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOPD、SHL AX,1 SHL AX,1 RCL DX,1 RCL DX,1

考题 现有下列程序 MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 试问上述程序段运行后, (AX)=? (BL)=? (DX)=?

考题 十进制调整指令适用于BCD码加法和减法运算结果的调整。

考题 DA A是十进制加法调整指令,但在两数相加时,加数和被加数都必须是()A、正数B、无符号数C、负数D、BCD码形式的十进制数

考题 指令“DAA”的含义是()A、对A中数进行十进制BCD码调整B、对A中数进行调整C、对A中数进行清零D、A中数加1

考题 将下列8421BCD码、5211BCD码和余三BCD码转换成十进制数: (1)(10010100.001)8421BCD; (2)(100110100.01101)5421BCD; (3)(10110001010.1011)5211BCD; (4)(10110100.101)余三BCD。

考题 8421BCD码、5421BCD码、2421BCD码都是有权的二-十进制编码。

考题 BCD码是用于表示十进制数的二进制代码,常见的BCD码有()。A、字符编码B、5421BCD码C、8421BCD码D、余3BCD码

考题 “BCD码”就是二-十进制码。

考题 将十进制的109转换为BCD码,结果为:000100001001。

考题 问答题数组LIST3内存有20个压缩BCD码表示的双字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM3双字单元。

考题 多选题BCD码是用于表示十进制数的二进制代码,常见的BCD码有()。A字符编码B5421BCD码C8421BCD码D余3BCD码

考题 问答题现有下列程序 MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 试问上述程序段运行后, (AX)=? (BL)=? (DX)=?

考题 问答题数组LIST1内存有20个非压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(非压缩BCD码)存入SUM1双字单元。

考题 问答题58的非压缩BCD和压缩BCD各如何表示?写出存入DX的指令。