高分悬赏,汇编语言高手进

1. 用DEBUG编写程序,在屏幕上显示一个字符串HELLO!,并以A.ROM为文件名存盘
2. 编写完整汇编程序,将内存中10个有符号数求和。
3. 编写完整程序将内存中一个无符号字节数以16进制的形式显示在屏幕上
4. 编写完整汇编程序,统计内存中10个有符号数中正数的个数
5. 编写完整汇编程序,将内存中的5个无符号数从小到大排列
6. 编写完整汇编语言程序,将内存中一个组合BCD数以十进制显示在屏幕上。
这是一些考试题目。。对高手来说应该很简单吧。。欢迎回答。。我会多给分。

1. 用DEBUG编写程序,在屏幕上显示一个字符串HELLO!,并以A.COM为文件名存盘

复制下面的文本内容,粘贴于记事本(注意:不要删除中间的空行),保存为A.TXT,然后在DOS提示符下输入:DEBUG <A.TXT,Ok。

e10d 'HELLO!$'
a100
lea dx,[10d]
mov ah,9
int 21
mov ax,4c00
int 21

rbx
0

rcx
14

na.com

w100

q

-----------------------------------------
2. 编写完整汇编程序,将内存中10个有符号数求和。

; 下面的程序是16位汇编,编译通过,运行正确。

; Program Name: Adding.asm

Adding SEGMENT
ASSUME CS:Adding,DS:Adding
ORG 100H

Start: jmp Begin

Decimal DW 780,-370,266,48,-127,890,21,640,-1023,513 ; 10个有符号数

Deci_Sum DW ?

Begin: lea si,Decimal
cld
mov cx,9
lodsw

Adding0: add ax,[si]
inc si
inc si
loop Adding0
mov [si],ax

Exit_Proc: mov ax,4c00h ;结束程序
int 21h

Adding ENDS
END Start
-----------------------------------------
3. 编写完整程序将内存中一个无符号字节数以16进制的形式显示在屏幕上

; 下面的程序是16位汇编,编译通过,运行正确。

; Program Name: Hex_ASCII.asm

Hex_ASCII SEGMENT
ASSUME CS:Hex_ASCII,DS:Hex_ASCII
ORG 100H

Start: jmp Begin

DecimalNum db 76 ;无符号字节数

Change_Hex proc near
cmp al,9
ja Charactor
or al,30h
stosb
ret
Charactor: sub al,9
or al,40h
stosb
ret
Change_Hex endp

ChangeHex0 proc near
xor ah,ah
mov cl,4
shl ax,cl
shr al,cl
xchg ah,al
call Change_Hex
xchg ah,al
call Change_Hex
ret
ChangeHex0 endp

Begin: lea di,HeximalASC ;显示十六进制符号字符串地址
cld ;设置变址寄存器变址方向
mov al,DecimalNum
call ChangeHex0
mov al,'$'
stosb
lea dx,HeximalASC ;字符串首地址
mov ah,9 ; 显示结果
int 21h

Exit_Proc: mov ax,4c00h ;结束程序
int 21h

HeximalASC:

Hex_ASCII ENDS
END Start
-----------------------------------------
4. 编写完整汇编程序,统计内存中10个有符号数中正数的个数

; 下面的程序是16位汇编,编译通过,运行正确。

; Program Name: positive.asm

positive SEGMENT
ASSUME CS:positive,DS:positive
ORG 100H

Start: jmp Begin

Decimal DW 780,-370,266,48,-127,890,21,640,-1023,513 ; 10个有符号数

Deci_Sum DB ? ;正数的个数计数器

Begin: lea si,Decimal
cld
mov cx,10
mov Deci_Sum,0 ;计数器清零

positive0: lodsw
test ax,8000h
jz NextOne
inc Deci_Sum
NextOne: loop positive0

Exit_Proc: mov ax,4c00h ;结束程序
int 21h

positive ENDS
END Start
-----------------------------------------
5. 编写完整汇编程序,将内存中的5个无符号数从小到大排列

; Program Name: Bubbling.ASM

Bubbling SEGMENT
ASSUME CS:Bubbling,DS:Bubbling,ES:Bubbling
ORG 100H

Start: JMP Begin

Array DB -112,56,72,98,32 ;需要排序的数据
Elem_Num EQU ($-Array)/TYPE Array-1 ;外循环次数

Begin: MOV CX,Elem_Num

Scanning: PUSH CX ;入栈保存外循环次数
LEA SI,Array ;数组首地址装入源变址寄存器

Compare: PUSH SI
POP DI ;当前数组元素地址赋给目的变址寄存器,以备交换之用
LODSB ;将当前数组元素读入累加器
CMP AL,[SI] ;当前数组元素与相邻的下一个数组元素相比较
JBE NextOne ;若小于或等于,不作数据交换,处理下一个数组元素
XCHG AL,[SI] ;若大于,交换数组元素
STOSB ;保存数值较小者
NextOne: LOOP Compare ;处理下一个数组元素

POP CX ;外循环次数出栈
LOOP Scanning ;下一趟比较

Exit_Proc:MOV AX,4C00H ;结束程序
INT 21H

Bubbling ENDS
END Start
-----------------------------------------
6.编写完整汇编语言程序,将内存中一个组合BCD数以十进制显示在屏幕上。

; 下面的程序是16位汇编,以组合BCD码58为例,编译通过,运行正确。

; Program Name: BCD_Code.asm

BCD_Code SEGMENT
ASSUME CS:BCD_Code,DS:BCD_Code
ORG 100H

Start: mov cl,4
mov al,BCD_Str
xor ah,ah
shl ax,cl
shr al,cl
or ax,3030h
xchg ah,al
mov word ptr Dec_Str,ax

lea dx,Dec_Str ;字符串首地址
mov ah,9 ; 显示结果
int 21h

Exit_Proc:mov ax,4c00h ;结束程序
int 21h

BCD_Str db 58h
Dec_Str db ' $'

BCD_Code ENDS
END Start
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-26
我只答第一题,其它的太费事了,其实第1题也很费事的,呵呵。
进入debug(下面只给出输入内容,<CR>表示回车,空格不能少,显示的内容自己看吧)
A100<CR>
MOV DX,180<CR>
MOV AH,9<CR>
INT 21<CR>
MOV AH,4C<CR>
INT 21<CR>
<CR>
F180 190 "HELLO!$"<CR>
G=100<CR> 【至此完成了显示,下面再保存】

N "A.ROM"<CR>
RBX<CR>
0<CR>
RCX<CR>
100<CR>
W100<CR>
Q

现在,你可以在dos提示符下直接看到A.ROM了,如果扩展名改成.COM,还可以直接执行的。
第2个回答  2009-03-26
第1题应该是写错了。
1.用DEBUG编写程序,在屏幕上显示一个字符串HELLO!,并以A.cOM为文件名存盘,这倒好搞。
第3个回答  2009-03-25
A.ROM存盘之后你怎么实现屏幕显示?
第4个回答  2009-03-25
建议分开来问。

猜谜,高手进,高分悬赏
1、光明--马;2、银玉--蝴蝶;3、太平--水龙;4、只得--野猫;5、神威--狮子;6、日山--鸡;7、井利--金鱼;8、元吉--鹿;9、青云--仙鹤;10、金官--乌龟;11、九官--画眉;12、有利--大象;13、音位--蜘蛛;14、万金--蛇;15、逢春--孔雀;16、坤山--虎;17、荣生--鸭18...

语文高手进,高中病句求解,高分悬赏!!
第一句:关联词使用错误,把“虽然”提到第二分句前即可,改为:先生侃侃而谈,虽然他的相貌没什么变化,但眼角的皱纹似乎暗示着这些年的艰辛和不快。第二句:逻辑错误,后句承接前句应该是没想到,不应该用“才知道”,改为:我本想这次能在家乡同你见面,回家后没想到由于你正忙着搞科研,不回来了。

高分悬赏,高手进~~~
1 一根香点两端,一根香点一端;当点两端的香烧完时就是半小时,这时再点燃另一根香的第二端;从烧完第一根香到烧完第二根香的时间就是15分钟。2. 12\\10\\6 12+10+6=28 2+8=10 1+0=1 3 13=1+1+11=1+2+10=1+3+9=1+4+8=1+5+7=1+6+6 =2+2+9=2+3+8=2+4+7=2+...

英语改错(高手进,高分悬赏,快快说的越快越好)
1.The road is too narrow for the truck to go "through".2.This room is too small for all of them to live "in".3.The situation is getting worse "than" before.4.The yellow River is one of the longest "rivers" in China.5.The weather in summer is "much hotter" than i...

解签高手进(高分悬赏)
签文:劝君做事细思量,似鹤飞来暗箭伤。若去采薪蛇在草,恐遭毒口亦须防 副签:闭口闭咀,诸事莫理 若问他人,须防害己 你问的是3年的学习情况和前程.此签是要你学习上一定要仔细,一些看似简单的题目却暗藏玄机,一定要小心,工作上的前程,你会去一个"危机"四伏的公司,公司里的人勾心斗角,但...

BIOS设置问题,高分悬赏,BIOS高手请进。
BIOS设置问题,高分悬赏,BIOS高手请进。 我电脑的BIOS中,有一项是设置系统安全的,Systemsecurity下面有有几个小项,分别是:passwordstatus后面的值是unlockedsystempassword后面的值是notenabledsetuppassword后面的值是noten... 我电脑的BIOS中,有一项是设置系统安全的, System security下面有有几个小项,分别是: password...

高分悬赏,有文采的人速进。我想给校长写一封信,一封建议书?
尊敬的校长您好:感谢你能在百忙之中看到我给你的来信,我是XX年级XX班的学生,我有一个小小的建议,希望您能给予关心一下:我们是六年制高职,从开学分班后之后就不分班了,从中我发现了很多问题,有的人在班中与同学发生了矛盾,还要在一起一个班共处六年的时间,每天低头不见抬头见,感到很变...

BIOS设置问题,高分悬赏,BIOS高手请进。
Setup Password Setup密码 Post Hotkeys 自检热键:该选项用来指定在开机自检(POST)时屏幕上显示的热键(F2或F12)。Chassis Intrusion 机箱防盗:该选项用来启用或禁用机箱防盗检测特征。设置为“Enable-Silent”时,启动时若检测到底盘入侵,不发送警告信息。该选项启用并且机箱盖板打开时,该域将显示“...

【高分悬赏】英语短剧剧本,高手进
(Little Duck跳进水里,一会儿就帮Miss Cat抓到了鱼。)Duck:Here is the fish for you,Miss Cat.Have a good meal.Cat:Thank you,Little Duck.You are so kind.Duck:Thats all right,Miss Cat.I must go now.Im going to my grandmothers home.Bye-bye!Cat:Bye-bye!(Little...

高分悬赏,高手请进。。。求一篇3分钟的英语演讲稿
额.. 以为是叫人翻译这句话...不会。

相似回答