题目内容 (请给出正确答案)
[主观题]

编程填空: 在20H和21H两个单元中各有一个8位数,试编程求出两数的平方和。要求用子程序方法实现求

平方,结果存放在22H和23H两个单元。 ORG 0100H MAIN:MOV SP,#50H ;设堆栈指针 MOV A,21H ;取a值 ACALL (1) ; a平方 MOV 20H,A ;a平方暂存20H MOV A,22H ;取B值 ACALL SQR ADD A, (2); a2+b2 MOV 20H,A SJMP $ ORG 0150H SQR: MOV DPTR,(3) (4) A,@A+DPTR;查平方表 (5) TAB: DB 0,1,4,9,16,25;平方表 DB 36,49,64,81 END

暂无答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“编程填空: 在20H和21H两个单元中各有一个8位数,试编程…”相关的问题

第1题

请编制程序PROG1.ASM,其功能是;从SOURCE开始存放的21个8位有符号数(补码),相邻数的差距不超过-8~7,可采用差分压缩,其方法如下:第一个数据不变,其后数据取与前一数据之差值并用4位二进制补码表示,两个差值拼成一个字节,前一个差值放在高4位,后一个差值放在低4位。

例如:

原数据为:X[n]: 23H, 27H, 2AH, 29H, 22H...

压缩后为:Y[n]:23H, 43H, F9H...

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

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

对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。

试题程序:

EXTRN LOAD: FAR, SAVE: FAR

N EQU 20

DSEG SEGMENT

L DW ?

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 DUP(?)

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

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

LEA SI,NAME0 ; 输入文件名首址送SI

MOV CX,2+N ; 输入字节数送CX

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

;****BEGIN****

LEA SI,SOURCE

LEA DI,RESULT

CLD

MOVSB ; Y[0]=X[0]

XOR BX, BX ; FLAG=0

MOV DX,N*2 ; 计数

ZTE: LODSB

SUB (1) ; X [n]-X [n-1]

(2) ; FLAG=NOT FLAG

J (3) SWIM

MOV 4, CL

MOV AH, AL

JMP NEXT

SWIM: (4)

OR AL, AH

STOSB

NEXT: (5)

JN

点击查看答案

第2题

设外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。
点击查看答案

第3题

某计算机的地址线、数据线均为8位,一条两字节的相对寻址的无条件转移指令,存于内存20H和21H单元中,指令操作码存放在20H中,存放在21H中的位移量为15H。则取该指令时PC(程序设计数器)为(1)H,该指令执行结束时PC为(2)H。

A.20

B.21

C.22

D.41

点击查看答案

第4题

请编制程序PROG1.ASM,其功能是:内存中连续存放的20个8位有符号数(补码)是由一个8位A/D转换器采集的双极性信号(Xn),现要求对该信号作如下限幅处理(处理后的信号记为Yn):

a) Yn=-100 Xn<-100

b) Yn=Xn ∣Xn∣≤100

c) Yn=100 Xn>100

例如:

Xn:68H,60H,8EH,38H,…

Yn:64H,61H,9CH,38H,…

部分程序已在PROG1.ASM中给出,请填空BEGIN和END之间已给出的源程序使其完整(空白己用横线标出,每行空白一般只需一条指令,但功能相当的多条指令亦可)或删除 BEGIN和END之间原有的代码并自行编写程序片段来完成要求的功能。

原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。

试题程序:

EXTRN LOAD:FAR, SAVE:FAR

N EQU 20

M EQU 100

DSEG SEGMENT

SOURCE DW N DUP(?)

RESULT DW N DUP(0)

NAME0 DB 'INPUTI.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

DSEG ENDS

SSEG SEGMENT STACK

DB 128 DUP(?)

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

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

LEA SI,NAME0 ; 原始数据文件名起始地址

MOV CX,N ; 字节数

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

; **** BEGIN ****

LEA SI,SOURCE

LEA DI,RESULT

(1)

NEXT: MOV AX,[SI]

CMP AX,-M

(2) L1

CMP AL,M

(3)

MOV AL,M

JMP L2

L1: MOV AL,-M

L2: MOV [DI],AL

(4)

(5)

(6)

; **** END ****

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

LEA SI,NAME1 ; 结果文件名起始地址

MOV CX,N ; 字节数

CALL SAVE ; 保存结果到OUTPUT1.DAT文件中

RET

START ENDP

CSEG ENDS

&nbs

点击查看答案

第5题

已知在两个8位寄存器BR、AR中存放着一个16位数,试编写一个程序段,将这个16位数循环右移一位,即:

  

点击查看答案

第6题

已知在两个8位寄存器BR、AR中存放着一个16位数,试编写一个程序段,将这个数带CF循环左移一位,如图所示。

  

点击查看答案

第7题

请编制程序,其功能为:设由20个8位有符号数构成一个数组,试依次去掉其中负的奇数,生成一个新的数组(顺序不变)。结果存放在RESULT开始的内存单元中。

部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEOIN和END之间补充使其完整。

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

部分程序如下:

; PROG1.ASM

EXTRN LOAD:FAR,SAVE:FAR

LEN EQU 20

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 256 DUP (?)

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 ***

…………

…………

…………

; *** END ***

LEA DX, RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案

第8题

输出一个整数中由8~11位构成的数,试编写该程序。
点击查看答案

第9题

下面是两单片机通过串行口进行通信的程序。它能将甲机内部RAM 20H~27H单元的数据发送给乙机,完成程序并填空。

甲机发送程序如下:

MOV ① ;定时器T1工作在8位重装方式

MOV TL1,#0F4H

MOV TH1,#0F4H

SETB TR1

MOV ② ,#40H;语句的作用是设置串口控制字

MOV R0,#20H

MOV R7,#08H

START:MOV A.@R0

MOV ③ ,A;将累加器A中的内容送串口输出缓冲器

WAIT:JBC T1, ④ ;判断T1是否置位,其目的是检查一帧是否发送完

AJMP WAIT

CONT:INC R0

DJNZ R7,START

SJMP $

乙机接收程序如下:

MOV TMOD,#20H

MOV TL1,#0F4H

MOV TH1,#0F4H

SETB TR1

MOV SCON,#40H

MOV R0,#20H

MOV R7,#08H

SETB ⑤ ;将REN置位的目的是使允许中断接受

WAIT:JBC RI, ⑥ ;判断RI是否置位,其目的是检查一帧是否接受完

AJMP WAIT

READ:MOV A, ⑦ ;将串口输入缓冲器的内容送累加器A

MOV @R0,A

INC R0

DJNZ R7, ⑧

SJMP $

答:①______;②______;③______;④______;

⑤______;⑥______;⑦______;⑧______。

点击查看答案

第10题

有多少个十进制3位数的数字恰有一个8和一个9?
点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

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

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信