标题:[原创]有空的大侠帮我做做作业吧
只看楼主
fastgod
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-5-31
 问题点数:0 回复次数:3 
[原创]有空的大侠帮我做做作业吧
有空的大侠帮我做做作业吧

一、XYZV均为16位有符号数,分别装在XYZV存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。

MOV AX, X

IMUL Y

MOV CX ,AX

MOV BX,DX

MOV AX ,Z

CWD

ADD CX,AX

ADC BX,DX

SUB CX,540

SBB BX,0

MOV AX,V

CWD

SUB AX,CX

SBB DX,BX

IDIV X

二、请指出下列指令的错误所在,并说明原因。

(1) MOV CX,DL

(2) XCHG [SI],3

(3) POP CS

(4) MOV IP,AX

(5) SUB [SI],[DI]

(6) PUSH DH

(7) OR BL,DX

(8) AND AX,DS

(9) MUL 16

(10) AND 7EEEH,AX

(11) DIV 256

(12) MOV ES,1243H

(13) MOV CS,AX

(14) SUB DL,CF

(15) ADC AX,AL

(16) MOV AL,300

三、假设AX SI存入的是有符号数,DX,DI存放的是无符号数,请用比较指令和条件转移指令实现以下判断:

(1) 若(DX>(DI) ,转到ABOVE 执行

(2) 若(AX>(SI), 转到GREATER执行

(3) 若(CX=0,转到ZERO执行

(4) 若(AX-(SI) ,产生溢出,转到OVERFLOW执行

(5) 若(SI<=(AX),转到LESS_EQ执行

(6) 若(DI<=(DX),转到BELOW_EQ执行

一、已知(AX=75A4H,CF=1 ,分别写出下列指令执行后的结果。

(1) ADD AX,08FFH

(2) INC AX

(3) SUB AX,4455H

(4) AND AX,0FFFH

(5) OR AX,0101H

(6) SAR AX, 1

(7) ROR AX , 1

(8) ADC AX, 5

二、已知(AX=2040h,(DX)=380h,端口(PORT)=(80H)=1FH,(PORT+1=45H,指出执行下列指令后,结果是什么?

(1) OUT DX,AL

(2) OUT DX,AX

(3) IN AL,PORT

(4) IN AL,80H

(5) OUT PORT+1,AL

(6) IN AL,PORT+1

三、改正下列程序的错误:

1、 下面是将内存一字节数据高4位和低4位互换并放回原位置的程序 ,找出错误并改正。

DATA SEGMENT

DD1 DB 23H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE ,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

LEA SI ,OFFSET DD1

MOV AL,[SI]

MOV CL,4

RCR AL,CL

MOV [SI],AL

MOV AH,4CH

INT 21H

CODE ENDS

END START

2、 下列的程序是将内存单元一字节数据乘以10放回单元的程序,找出错误并改正。

DATA SEGMENT

DA DW 34

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV SI,OFFSET DA

MOV AL,[SI]

MUL 10

MOV [SI],AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

四、程序分析:

1、 执行完程序后,回答指定的问题

MOV AX,0

MOV BX,2

MOV CX,50

LP: ADD AX,BX

ADD BX,2

LOOP LP

问:(1)该程序的功能是:

2)程序执行完成后,(AX=

2、 执行完程序后,回答指定的问题。

BLOCK DB 20H,1FH,08H,81H,0FFH……

RESULT DB ?

START: LEA SI ,BLOCK

MOV CH,0

MOV CL,[SI]

DEC CX

INC SI

MOV SL,[SI]

LOP1: CMP AL,[SI+1]

JLE NEXT

MOV AL,[SI+1]

NEXT : INC SI

LOOP LOP1

MOV RESULT ,AL

HLT

问:(1)该程序的功能是:

2)该程序的循环次数是:

五、已知从DS:2200H,ES:3200H单元起分别存放20ASCII的字符,找出两个字符串中第一个不同字符位置(段内偏地址),并放入DS:22A0H开始的连续两个单元中。请设计完成此任务的程序段。

六、试编程实现将键盘输入的小写字母用大写字母显示出来

搜索更多相关主题的帖子: Roman Times face 
2005-05-31 02:52
wufengcxp
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-1-25
得分:0 
1.X*Y+Z-540-V
2008-01-28 12:20
ccddh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-3-19
得分:0 
[V-(X*Y+Z-540)]/X
2008-03-19 10:42
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
得分:0 
我不喜欢全大写的指令

Viva,espana!
2008-03-26 09:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-19731-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.508974 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved