0
点赞
收藏
分享

微信扫一扫

汇编语言(32位二进制数的减法、带符号数除法、字符串大小写转换、分段函数求值,含源程序)

cnlinkchina 2022-03-13 阅读 78

x8086软件(dosbox、c51)资源

https://download.csdn.net/download/qq_51864704/84697203icon-default.png?t=M276https://download.csdn.net/download/qq_51864704/84697203

一、简答题。(10分)

1.写出数据定义语句。(4分)

(1)为缓冲区BUFF预留100个字节的存储空间。

BUFF DB 100 DUP (?)

(2)将字符串‘I am fine.’‘Good.’存放在某数据区。

DATA SEGMENT

STRING DB ‘I am fine.’,‘Good.’

DATA ENDS

2.按下列要求写出相应的指令或程序段。(4分)

(1)用一条指令使AX内容清0,分别用3种方法。

MOV AX,0

XOR AX,AX

SUB AX,AX

(2)使BL寄存器中的高4位和低4位互换。

MOV CL,4

ROL BL,CL

(3)屏蔽CX寄存器的b11、b7和b3位。

AND CX,0F777H

二.编程题(要求编写的能够在dos环境中运行,截图给出运行的结果,并分析结果的对错。这里除了第3题有具体的数据外,其他题目均要求自己定义数据。)

1.试编写一个汇编语言源程序,要求将2个32位的二进制数num1,num2相减,相减的结果存放于num3中。假设不会产生溢出。(10分)

 

 

 

2.试编写一个汇编语言源程序,求带符号数相除 -47/5的商和余数。(10分)

商=0F7H=-9,余数=0FEH=-2

 

 

3.试编写一个汇编语言源程序,要求将字符串‘HelLo WorlD.’的大写字母全部改为小写字母。(10分)

 

 

4.试编写一个汇编语言源程序。设BUF字节单元的值为x,RESULT字节单元的值为y,试编程按以下要求给y赋值。(20分)

         2*x    (0<=x=<50)

y =      x/5    (50<x<200)

          200     (x>=200)

Y=2*x,(0<=x<=50)

 

Y=x/5,(50<x<200)

 

Y=200,(x>=200)

 

举报

相关推荐

0 条评论