您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 三级辅导 >> 正文    
  2000年计算机三级A上机试题(二) 【注册男护士专用博客】          

2000年计算机三级A上机试题(二)

www.nanhushi.com     佚名   不详 

试题说明 :
===============================================================================
请编制程序prog1.asm, 其功能是: 内存中连续存放着二个有
符号字节序列a(k)和b(k)(k=0,…,9;下同),求序列c(k),c(k)=a(k)-b(k)。
c(k)以有符号字的形式按c(0),…,c(9)的顺序连续存放。
例如:
序列a(k)为30h,80h(-128d),7fh(127d),…;
序列b(k)为00h,7fh(127d),80h(-128d),…。
则结果c(k)为0030h,ff01h,00ffh,…。
部分程序已给出,其中原始数据由过程load从文件input1.dat
中读入source开始的内存单元中,运算结果要求从result开始存放,
由过程save保存到文件output1.dat中。
填空begin和end之间已给出的源程序使其完整 (空白已用横线
标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦
可), 或删除begin和end之间原有的代码并自行编程来完成要求的
功能。
对程序必须进行汇编, 并与io.obj链接产生prog1.exe执行文
件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调
试中若发现整个程序中存在错误之处,请加以修改。
===============================================================================
程序 :
===============================================================================
extrn load:far,save:far
n equ 10
stac segment stack
db 128 dup (?)
stac ends
data segment
source db n*2 dup(?) ; 顺序存放a0,…,a9,b0,…,b9
result dw n dup(0) ; 顺序存放c0,…,c9
name0 db 'input1.dat',0
name1 db 'output1.dat',0
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,name0 ; 原始数据文件名
mov cx,n*2 ; 字节数
call load ; 从 'input1.dat'中读取数据
; **** begin ****
lea di,result ; 结果从result开始存放
mov cx,n
mov bx,0
mov ah,0
pro: mov al,source[bx] ; 序列ak中的一个字节
mov dh,al
___________________ ; ck=ak-bk
jno stay ; 无溢出转stay
add dh,0 ; 有溢出
___ dec1 ; ak为正数(为一个正数减去一个负
; 数,结果为负数的溢出情况)转dec1
mov ah,____ ; ak为负数(为一个负数减去一个正
; 数,结果为正数的溢出情况)将结果
; 变为有符号字的形式(为负)
jmp _____
dec1: mov ah,00h ; 将结果变为有符号字的形式(为正)
jmp _____
stay: ____ ; al中数的符号扩展到ah,正的字节
; 变成正的字,负的字节变成负的字
jump1: mov [di],ax
add di,2
inc bx
dec cx
jnz pro
; **** end ****
lea dx,result ; 结果数据区首址
lea si,name1 ; 结果文件名
mov cx,n*2 ; 结果字节数
call save ; 保存结果到文件
ret
start endp
code ends
end start
===============================================================================
所需数据 :
===============================================================================
@2 input1.dat 001
80 c0 81 00 7f 40 3f 7f c0 81 7f 40 7f 00 7f 3f 40 80 81 9c
#e
@3 $output1.hex 001
fe007f00fd00fffffffffeff000000ffc0ff1a00a1
#e

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    2011年护士资格考试:考…
    2009年初级护士资格考试…
    2009年主管护师考试于12…
    2009年初级护士考试于12…
    2009年初级护师考试于12…
    石家庄市关于2009年度护…
    2009年护士专业技术资格…
    医护技能考试周末举行 4…
    护士“托福”今年7月开考
    护士“托福”考试开始报…
    专 题 栏 目