内存某字节单元中存放的二进制代码为94H,若将它看作是一个压缩的BCD码,则对应的数为()。A、148B、-20C、-108D、94

题目

内存某字节单元中存放的二进制代码为94H,若将它看作是一个压缩的BCD码,则对应的数为()。

  • A、148
  • B、-20
  • C、-108
  • D、94

相似考题

3.请编制程序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码,直至转换完毕。

参考答案和解析
正确答案:D
更多“内存某字节单元中存放的二进制代码为94H,若将它看作是一个压缩的BCD码,则对应的数为()。A、148B、-20C、-108D、94”相关问题
  • 第1题:

    在计算机中,通常将长度为()的位模式称为字节。ASCII码是表示西文字符的常用编码,使用()个字节表示一个符号,若已知字符“A”的ASCII码对应的十进制数为65,则“F”的ASCII码对应的十进制数值为()。


    正确答案:8;1;70

  • 第2题:

    把二进制代码1001011101011000分别“看作”是:二进制无符号数、二进制补码、压缩BCD码、非压缩BCD码,哪一种情况下它代表的“值”最大?


    正确答案: 看做二进制无符号数时,它代表的“值”最大。
    分析:看作二进制补码时,它代表一个负数,而其他的情况下,它均正数。因此,看作二进制补码时,它代表的值最小。 把这组代码用十六进制数字形式写出:9758
    对于无符号数,它的值等于十六进制的9758H;
    对于压缩BCD码,它的值等于十六进制的9758,显然小于9758H;
    对于非压缩BCD码,它的值等于十进制的78,显然更小于9758H;
    因此,看作二进制无符号数时,它代表的“值”最大。

  • 第3题:

    存储字是指()。

    • A、存放一个存储单元中的二进制代码组合
    • B、存储单元的个数
    • C、存放一个存储单元中的二进制代码位数
    • D、机器指令的位数

    正确答案:A

  • 第4题:

    微机某内存单元中的内容为C5H,若它表示的是一个有符号数,则该数对应的十进制数是()。

    • A、-59
    • B、59
    • C、-69H
    • D、197

    正确答案:A

  • 第5题:

    若二进制数1001011010000111B是压缩BCD码,则其对应的十进制数是()

    • A、9687
    • B、8765
    • C、9876
    • D、8697

    正确答案:A

  • 第6题:

    若一个压缩的BCD码为00110001B,它表示的数是()。

    • A、11H
    • B、11
    • C、31
    • D、00010001B

    正确答案:C

  • 第7题:

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


    正确答案: CODESEGMENT
    ASSUME CS:CODE
    LIST1DB “6705762998”;20个非压缩BCD数
    DB “4322687310”SUM1DD ?;存放结果(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 BYTE PTR SUM1,AL;保存个位
    MOV AL,AH
    MOV AH,0;百位、十位(二进制)存入AX
    AAM;分解百位到AH,十位到AL
    MOV WORD PTR SUM1+1,AX;保存百位、十位
    MOV BYTE PTR SUM1+3,0;千位清零(和最大为9*20=180)
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第8题:

    BCD码是用于表示十进制数的二进制代码,常见的BCD码有()。

    • A、字符编码
    • B、5421BCD码
    • C、8421BCD码
    • D、余3BCD码

    正确答案:B,C,D

  • 第9题:

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

    正确答案: CODESEGMENT
    ASSUME CS:CODE
    LIST3 DW
    1234H,3456H,5678H,1523H,8263H,
    DW 5234H,4856H,1926H,3177H,6389H
    DW 2211H,3322H,4433H,5544H,6655H
    DW 7766H,8877H,9988H,1167H,3944H
    SUM3 DD ?
    START: XOR DX,DX
    XOR 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和DX
    ADC AL,0;收集千位上的进位
    DAA;调整,得到和的十万位和万位
    XCHG DX,AX;恢复DX和AX
    LOOP ONE;循环控制
    MOV WORD PTR SUM3,AX;保存千、百、十、个位
    MOV WORD PTR SUM3+2,DX;保存十万位和万位
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
    解析: 暂无解析

  • 第10题:

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

    正确答案: CODESEGMENT
    ASSUME CS:CODE
    LIST1DB “6705762998”;20个非压缩BCD数
    DB “4322687310”SUM1DD ?;存放结果(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 BYTE PTR SUM1,AL;保存个位
    MOV AL,AH
    MOV AH,0;百位、十位(二进制)存入AX
    AAM;分解百位到AH,十位到AL
    MOV WORD PTR SUM1+1,AX;保存百位、十位
    MOV BYTE PTR SUM1+3,0;千位清零(和最大为9*20=180)
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
    解析: 暂无解析

  • 第11题:

    问答题
    把二进制代码1001011101011000分别“看作”是:二进制无符号数、二进制补码、压缩BCD码、非压缩BCD码,哪一种情况下它代表的“值”最大?

    正确答案: 看做二进制无符号数时,它代表的“值”最大。
    分析:看作二进制补码时,它代表一个负数,而其他的情况下,它均正数。因此,看作二进制补码时,它代表的值最小。 把这组代码用十六进制数字形式写出:9758
    对于无符号数,它的值等于十六进制的9758H;
    对于压缩BCD码,它的值等于十六进制的9758,显然小于9758H;
    对于非压缩BCD码,它的值等于十进制的78,显然更小于9758H;
    因此,看作二进制无符号数时,它代表的“值”最大。
    解析: 暂无解析

  • 第12题:

    问答题
    在以3000H为首地址的外部RAM中,存放了14个以ASCII码表示的0~9的数,试编写程序将它们转换成BCD码,并以压缩BCD形式存放在以2000H为首地址的外部RAM中。

    正确答案: 1  ORG 00H
    0000  903000 2  MOV DPTR,#3000H ; 原始数据首地址
    0003  7807      3  MOV R0,#07 ;   循环次数
    0005  7930      4  MOV R1,#30H ;  转换结果暂存区指针
    0007  E0        5 CH1: MOVX A,@DPTR
    0008  550F      6  ANL A, #00001111B
    000A  C4        7  SWAP A
    000B  F5F0      8  MOV B,A
    000D  A3        9  INC DPTR
    000E  E0        10  MOVX A,@DPTR
    000F  550F      11  ANL A, #00001111B
    0011  45F0      12  ORL A,B
    0013  F7        13  MOV @R1,A
    0014  09        14  INC R1
    0015  A3        15  INC DPTR
    0016  D8EF      16  DJNZ R0,CH1
    0018  902000    17  MOV DPTR,#2000H ;  转换结果存储区
    001B  7A07      18  MOV R2,#07H ;  结果个数
    001D  7930      19  MOV R1,#30H
    001F  E7        20 CH2: MOV A,@R1 ;
    解析: 暂无解析

  • 第13题:

    在以3000H为首地址的外部RAM中,存放了14个以ASCII码表示的0~9的数,试编写程序将它们转换成BCD码,并以压缩BCD形式存放在以2000H为首地址的外部RAM中。


    正确答案: 1  ORG 00H
    0000  903000 2  MOV DPTR,#3000H ; 原始数据首地址
    0003  7807      3  MOV R0,#07 ;   循环次数
    0005  7930      4  MOV R1,#30H ;  转换结果暂存区指针
    0007  E0        5 CH1: MOVX A,@DPTR
    0008  550F      6  ANL A, #00001111B
    000A  C4        7  SWAP A
    000B  F5F0      8  MOV B,A
    000D  A3        9  INC DPTR
    000E  E0        10  MOVX A,@DPTR
    000F  550F      11  ANL A, #00001111B
    0011  45F0      12  ORL A,B
    0013  F7        13  MOV @R1,A
    0014  09        14  INC R1
    0015  A3        15  INC DPTR
    0016  D8EF      16  DJNZ R0,CH1
    0018  902000    17  MOV DPTR,#2000H ;  转换结果存储区
    001B  7A07      18  MOV R2,#07H ;  结果个数
    001D  7930      19  MOV R1,#30H
    001F  E7        20 CH2: MOV A,@R1 ;

  • 第14题:

    下列说法中与BCD码的性质不符的是()。 

    • A、一组四位二进制数组成的码只能表示一位十进制数
    • B、BCD码是一种人为选定的0~9十个数字的代码
    • C、BCD码是一组四位二进制数,能表示十六以内的任何一个十进制数
    • D、BCD码有多种

    正确答案:C

  • 第15题:

    有一个8位机器数为10010111,若此数表示的是压缩(或组合)BCD码,则相应的十进制数的真值为多少?


    正确答案:97

  • 第16题:

    微机某内存单元中的内容为89H,若它是一压缩格式的BCD码,则该BCD码表示的十进制数是()。

    • A、137
    • B、-9
    • C、-119
    • D、89

    正确答案:D

  • 第17题:

    8086中断系统可处理256种不同的中断,对应中断类型码为(),每个中断类型码与一个中断相对应,每个中断向量需占用4个字节单元;两个高字节单元存放中断入口段地址,两个低字节单元存放()。


    正确答案:0~255;中断入口偏移地址

  • 第18题:

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


    正确答案: CODESEGMENT
    ASSUME CS:CODE
    LIST2 DB
    12H,34H,56H,15H,82H,52H,48H,19H,31H,63H
    DB22H,33H,44H,55H,66H,77H,88H,99H,11H,39H
    SUM2DD ?
    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 WORD PTR SUM2,AX;保存千、百、十、个位
    MOV WORD PTR SUM2+2,0;高位清零
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第19题:

    把二进制代码1001011101011000分别“看作”是: (1)二进制无符号数 (2)二进制补码 (3)压缩BCD码 (4)非压缩BCD码哪一种情况下它代表的“值”最大?


    正确答案: 看作二进制无符号数时,它代表的“值”最大。
    分析:看作二进制补码时,它代表一个负数,而其它的情况下,它均为正数。因此,看作二进制补码时,它代表的值最小。
    把这组代码用十六进制数字形式写出:9758
    对于无符号数,它的值等于十六进制的9758H;
    对于压缩BCD码,它的值等于十进制的9758,显然小于9758H;
    对于非压缩BCD码,它的值等于十进制的78,显然更小于9758H;
    因此,看作二进制无符号数时,它代表的“值”最大。

  • 第20题:

    下列说法中与BCD码的性质不符的是()

    • A、一组四位二进制数组成的码只能表示一位十进制数 
    • B、BCD码是一种人为选定的0-9十个数字的代码 
    • C、BCD码是一组四位二进制数年,能表示十六以内的任何一个十进制数
    • D、BCD码有多种

    正确答案:C

  • 第21题:

    多选题
    BCD码是用于表示十进制数的二进制代码,常见的BCD码有()。
    A

    字符编码

    B

    5421BCD码

    C

    8421BCD码

    D

    余3BCD码


    正确答案: C,A
    解析: 暂无解析

  • 第22题:

    填空题
    在计算机中,通常将长度为()的位模式称为字节。ASCII码是表示西文字符的常用编码,使用()个字节表示一个符号,若已知字符“A”的ASCII码对应的十进制数为65,则“F”的ASCII码对应的十进制数值为()。

    正确答案: 8,1,70
    解析: 暂无解析

  • 第23题:

    问答题
    把二进制代码1001011101011000分别“看作”是: (1)二进制无符号数  (2)二进制补码  (3)压缩BCD码  (4)非压缩BCD码    哪一种情况下它代表的“值”最大?

    正确答案: 看作二进制无符号数时,它代表的“值”最大。
    分析:看作二进制补码时,它代表一个负数,而其它的情况下,它均为正数。因此,看作二进制补码时,它代表的值最小。
    把这组代码用十六进制数字形式写出:9758
    对于无符号数,它的值等于十六进制的9758H;
    对于压缩BCD码,它的值等于十进制的9758,显然小于9758H;   对于非压缩BCD码,它的值等于十进制的78,显然更小于9758H;
    因此,看作二进制无符号数时,它代表的“值”最大。
    解析: 暂无解析