搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友anonymity 发布时间:2022-01-06
[主观题]

假设AX和BX中的内容为有符号数,CX和DX中的内容为无符号数,请用指令实现下面的判断:

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“假设AX和BX中的内容为有符号数,CX和DX中的内容为无符号数,请用指令实现下面的判断:”相关的问题
第1题
1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令。 (1)将立即数1234H送入寄存器BX。 (2)将变址寄存器SI的内容送入数据段中2000H的存储单元。 (3)把BX与CX寄存器内容相加,结果送入BX。 (4)寄存器BX中的低4位内容保持不变,其他位按位取反,结果仍在BX中。 (5)实现AX除以2的运算,假设AX的内容为无符号数。
点击查看答案
第2题
假定AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,试用比较指令和条件转移指令实现以下判
断: (1)若DX的值超过CX的值,则转去执行EXCEED。 (2)若BX的值大于AX的值,则转去执行EXCEED。 (3)CX中的值为0吗?若是则转去执行ZERO。 (4)BX的值与Ax的值相减,会产生溢出吗?若溢出则转去执行OVERFLOW。 (5)若BX的值小于AX的值,则转去执行EQ—SMA。 (6)若DX的值低于CX的值,则转去执行EQ___SMA。

点击查看答案
第3题
假设AX和BX寄存器中存放的是有符号数,为了判断AX寄存器中的数据是否大于BX寄存器中的数据,应采用
下面()指令序列(注:label为标号)。

A.SUB AX,BX JC label

B.SUB AX,BX JNC lable

C.CMP AX,BX JA lable

D.CMP AX,BX JG label

点击查看答案
第4题
分别写出实现如下功能的程序段(1)将AX中间8位(作高8位),BX低4位和DX高4位(作低4位)拼成一个新

分别写出实现如下功能的程序段

(1)将AX中间8位(作高8位),BX低4位和DX高4位(作低4位)拼成一个新字。

(2)将CX中间8位取反,其余位不变。

(3)将数据段中以BX为偏移地址的连续3单元中的无符号数求和。

(4)将数据段中以BX为偏移地址的连续4单元的内容颠倒过来。

(5)将BX中的4位压缩BCD数用非压缩BCD数形式按序放在AL,BL,CL和DL中。

(6)不用乘法指令实现AL (无符号数)乘以20。

点击查看答案
第5题
假设AX和BX寄存器中存放的是有符号数,为了判断AX寄存器中的数据是否大于BX寄存器中的数据,应采用
下面()指令序列(注:label为标号)。

A.SUB AX,BX

B.SUB AX,BX JC label JNC lable

C.CMP AX,BX

D.CMP AX,BX JA lable JG label

点击查看答案
第6题
在数据段中,从buff单元开始存放着10个16位的无符号数,求出其中所有数的和,并 存入SUM单元。部分程
序如下,请将程序补充完整。 data segment buff DW (BUFF) sum DW ? data ends code segment assume cs:code, ds:data start: MOV BX,OFFSET BUF XOR AX,AX MOV CX,10 ;设置循环次数 LOP: ADD AX,[BX]

点击查看答案
第7题
请编制程序PROG1.ASM,其功能是:内存中连续存放着由20个无符号字节组成的一个序列,请将它们排成升
序(从小到大)。

程序中,COUNT为序列元素个数,OFFL为序列偏移量,BX为交换标志寄存器(BX =1,说明此趟排序扫描后未发生交换操作,表示序列中的元素已排好序)。

例如:内存中有01H,04H,02H,…(假设后十七个字节均大于04H)

结果为01H,02H,04H,…(后跟十七个字节,按从小到大的顺序排列)

部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUT- PUT1.DAT中。请编写BEGIM到END之间代码。对程序必须进行汇编,并与IO.OBJ连接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分);

部分源程序如下:

EXTRN LOAD:FAR,SAVE:FAR

N EQU 20

STAC SEGMENT STACK

DB 128 DUP ()

STAC ENDS

DATA SEGMENT

SOURCE DB N DUP ()

RESULT DB N DUP (0)

NAME0 DB 'INPUT1. DAT', 0

NAME1 DB 'OUTPUT1. DAT', 0

COUNT DW ?

OFFL DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:STAC

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS, AX

LEA DX, SOURCE ; 数据区起始地址

LEA SI,NAMEO ; 原始数据文件名

MOV CX,N ; 字节数

CALL LOAD ; 从'INPUT1.DAT'中读取数据

**** BEGIN ****

***** END *****

LEA DX,RESULT ; 结果数据区首地址

LEA SI,NAME1 ; 结果文件名

MOV CX,N ; 结果字节数

CALL SAVE ; 保存结果到文件

RET

START ENDP

CODE ENDS

END START

相关知识:

●无符号数比较大小。

有符号数和无符号数比较大小采用的是不同的指令,本题目要求将无符号数进行排序,这里仅介绍无符号数的比较指令。

(1)“高于”或“不低于等于”条件转移指令

指令格式:JA/JNBE短标号地址

(2)“高于等于”或“不低于”条件转移指令

指令格式:JAE/JNB短标号地址

(3)“等于”条件转移指令

指令格式:JE 短标号地址

(4)“不等于”条件转移指令

指令格式:JNE 短标号地址

(5)“低于等于”或“不高于”条件转移指令

指令格式:JBE/JNA 短标号地址

(6)“低于”或“不高于等于”条件转移指令

指令格式:JB/JNAE 短标号地址

●数组的排序

数组的排序的方法有很多种,可以采用“冒泡排序”、“直接插入排序”、“简单选择排序”等算法复杂度为O(n(上标)2)的简单排序算法,也可采用那些算法复杂度为O(nlog(下标)2n)或O(d (n+rd))的算法,但简单排序算法比较容易理解,编程比较方便。通过阅读我们发现出题者的意愿就是采用冒泡排序方法,因为它要多次扫描数组,而且有一个标志指明一趟扫描是否发生数据交换,这是典型冒泡排序方法。当然大家也可采用别的排序算法,作为题目的分析者我们就不采用别的方法了。

●串的移动

点击查看答案
第8题
设AX、BX中为有符号数,指令CMPAX,BX执行后,若0F=0,SF=1,则(AX)》(BX)。()
点击查看答案
第9题
编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。

例如:

内存中有:3EH,0FEH,5DH……(假设后面的7个数都小于3EH)

结果为: 0FEH,5DH,3EH……(后面跟7个字,按照从大到小的顺序排列)。

部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

【试题程序】

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

SSEG SEGMENT STACK

DB 256 DUP ()

SSEG ENDS

DSEG SEGMENT

SOURCE DB N DUP ()

RESULT DB N DUP (0)

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

LEA DX, SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

;******** BEGIN ********

MOV SI,OFFSET SOURCE

MOV DI,OFFSET RESULT

MOV CX,N

AGAIN0: MOV AX, [SI]

MOV [DI],AX

ADD SI, (1)

(2)

LOOP AGAIN0

CLD

MOV BX,N-1

AGAIN1: MOV SI,OFFSET RESULT

MOV CX,BX

AGAIN2: LODSB

CMP [SI],AX

(3)

XCHG [SI],AX

(4)

NEXT: LOOP AGAIN2

(5)

JNZ AGAIN1

;******** END ********

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
第10题
请编制程序,其功能为:从SOURCE开始的内存区域存放着N个字节的有符号数。现找出最大的数,结果存放
到RESULT 指示的,其后存放原N个数逻辑取反后的值。

例如:

数据为:09H,7EH,89H,F6H,17H……67H(N个数据)

结果为:7EH (最大数),F6H,81H,76H,0CH,E8H……98H(原N个数的逻辑反)

部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT 中读入从SOURCE开始的内存单元,运算结果要求从RESIULT开始存放,由SAVE 过程保存到OUTPUT1.DAT 文件中。请在BEGIN和END 之间补充使其完整,完成要求的功能。或删除BEGIN和END 之间原有的代码井自行编程来完成要求的功能。

对程序必须进行汇编,并与IO. OBJ 链接产生PROG1. EXE 执行文件,最终产生运行结果。

部分程序如下;

;PROG1. ASM

EXTRN LOAD: FAR,SAVE:FAR

N EQU 30

DSEG SEGMENT

SOURCE DW N DUP ()

RESULT DW N DUP (0)

NAME0 DB 'INPUT1.DAT,0

NAME1 DB 'OUTPUT1.DAT',0

DSEG ENDS

SSEG SEGMENT STACK

DB 128 DHP ()

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG;SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX, DSEG

MOV DS,AX

MOV ES, AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

; *** BEGIN ***

______ SI,SOURCE

MOV BX,OFFSET SOURCE

LEA DI,RESULT

L1: MOV CX,N

MOV DX,CX

DEC DX

MOV AL,______

L2: INC BX

______ AL,[BX]

______________

MOV AL,[BX]

L3: DEC DX

JNZ______

MOV [DI],AL

INC DI

CLD

MAX: LODSB

NOT AL

______________

LOOP MAX

; *** END ***

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP