急高分100悬赏汇编程序!

设计性实验指导方案本设计性实验中共包括三个实验,要求学生任选其中的两个实验作为实验内容,具体的要求及目的如下:实验一:加减乘除四则计算一、设计目的1、深入了解加,减,乘,... 设计性实验指导方案
本设计性实验中共包括三个实验,要求学生任选其中的两个实验作为实验内容,具体的要求及目的如下:
实验一:加减乘除四则计算
一、设计目的
1、深入了解加,减,乘,除指令。
2、了解指令对标志位的影响,掌握多字节运算的方法。
3、能够综合应用所学的汇编语言进行程序设计,编写应用程序。

二、设计要求
1、做好充分准备,设计一个能实现加,减,乘,除余计算的程序。
2、调试过程注意观察标志位的变化。

三、设计内容
1、设计一个能实现加,减,乘,除余计算的程序。
2、该程序接受从键盘输入的十六进制数,执行相应的计算后,计算结果以十六进制数输出。

四、设计思路
将键盘输入的表达式预放入一缓冲区中,然后从该缓冲区的第一个字符开始读取判断,当读取到一个有效的表达式时,对表达式进行相应的运算后,输出用十六进制数表示的运算结果;当表达式无效时,输出表达式“error(错误)”的信息或者是有效表达式 “JS<Expression>”的提示信息。程序流程图如图所示

五、报告要求
1、说明设计过程中所遇到的问题及解决过程,对问题进行分析。
2、说明上机过程中调试情况,步骤,调试过程所遇到的问题是如何解决的,对调试过程中的问题进行分析,对结果进行分析。
六、最终结果
执行时,需在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下:
c:\masm>js 3+2

5
c:\masm>js 6*7

2A
c:\masm>js 10-4

6
c:\masm>js 12/3

4

实验二:代码转换程序
一、设计目的
1、解数制和编码的差异;
2、实现二进制、八进制,十六进制代码以及大小字母之间的转换。
二、设计内容
编程实现大小字母之间,二进制数和十六进制数之间以及十六进制数向十进制数的转换。
三、设计思路
这是一个字母或数制之间的转化程序本程序共有七个模块组成,其中5为主模块,调用模块1和模块7,模块1又调用模块2、3、4和 6四个模块。
模块2实现小写字母向大写字母的转换。
模块3实现大写字母向小写字母的转换。
模块4实现二进制数项十六进制数的转换。
模块6实现十六进制数向二进制数的转换。
模块7实现十六进制数向十进制数的转换。
整个程序采用远过程调用的方法实验,程序结构图如图所示。

四、最终结果
按“q”键退出。
使用时,需将7个文件分别汇编,连接的方法为:
5+1+2+3+4+6+7
生成可执行文件“5” 即可运行

实验三 显示日期时间程序
一、设计目的
掌握DOS系统功能调用。
二、设计要求
1、显示系统的当前日期和时间。
2、调试过程注意观察标志位的变化。
3、编程时注意功能号。
三、设计内容
按照界面提示信息显示。例如:可设计界面提示信息为:“PLEASE INPUT DATE(D) OR TIME(D) OR QUIT(Q):”,从键盘输入“D”,可显示系统日期。
四、操作说明
直接在操作系统状态下双击可执行程序daytime.exe,输入“D”,可显示日期;输入“T”,可显示时间;输入“Q”,可返回操作系统。
五、设计思路
利用DOS系统功能调用的2AH和2CH功能调用,读取系统日期和时间。将日期和时间值转换为相应的ASCII码字符,显示在屏幕上。程序流程图如图所示。

1和2二任选其一,3必选!
展开
 我来答
脑子很笨
2009-06-04 · TA获得超过830个赞
知道小有建树答主
回答量:449
采纳率:0%
帮助的人:383万
展开全部
说一下我的思路
首先判断要进行的是什么运算 可以用CMP判断+ - * /
然后算出来要计算的这两个数的字串符大小第一个数以+-*/结束 第2个数以0结束 都可以用CMP判定
输入的是字串符形式的16进制吧?那么这两个数转换成16进制数 最好做个子程序随时调用
然后进行计算 最后再把数据转换成字串符 然后int21h 显示出来

写出来了 好累啊 我是新手 不对的地方请指正 不知道写的复杂不
输入格式61a+f5 小写 因为ax最大ffff 有些运算溢出

assume ds:data,cs:code,ss:stack

data segment
number db 0dh,0ah,"Please write down your number:",0dh,0ah,0dh,0ah,"$"
write db 50
db ?
db 50 dup(?)
nu1 db 0,0,0,0,0
nu2 db 0,0,0,0,0
nu3 db 0,0,0,0,0
nu4 db 0,0,0,0,0
prt db 0dh,0ah,0dh,0ah,0,0,0,0,0,0
data ends

stack segment stack
db 50 dup(0)
stack ends

code segment
start:
mov ax,data
mov ds,ax
lea dx,number
mov ah,9h
int 21h

lea dx,write
mov ah,0ah
int 21h

lea si,write
lea di,nu1
@1_11:
cmp byte ptr [si+2],30h
jb @1_1
mov bl,byte ptr [si+2]
mov byte ptr [di],bl
inc di
inc si
jmp @1_11
@1_1:
push si
lea si,nu1
lea di,nu2
call @16ZH
lea di,nu3
pop si
push si
@1_2:
cmp byte ptr [si+3],0dh
je @1_21
mov bl,byte ptr [si+3]
mov byte ptr [di],bl
inc di
inc si
jmp @1_2
@1_21:
lea si,nu3
lea di,nu4
call @16ZH

pop si
lea di,nu2
mov ax,word ptr [di]
lea di,nu4
mov bx,word ptr [di]
cmp byte ptr [si+2],2bh
jne @t1
add ax,bx
push ax
jmp @go
@t1:
cmp byte ptr [si+2],2dh
jne @t2
sub ax,bx
push ax
jmp @go
@t2:
cmp byte ptr [si+2],2ah
jne @t3
mul bx
push ax
jmp @go
@t3:
div bx
push ax
@go:

lea ax,prt+4
mov di,ax
mov ax,stack
mov ss,ax
pop ax
call @ZH16

mov ax,4c00h
int 21h

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

@16ZH:

push ax
push bx
push cx
push si
push di

xor cx,cx
xor bx,bx
@a1_1:
cmp byte ptr [bx+si],0
je @a1
inc bx
jmp @a1_1
@a1:
mov cx,bx
add si,bx
mov ax,1
mov bx,16
@a2_1:
push bx
push ax
cmp byte ptr [si-1],50h
ja @a2
sub byte ptr [si-1],30h
mov bl,byte ptr [si-1]
@a2_31:
xor bh,bh
mul bx
add ds:[di],ax

pop ax
pop bx
mul bx
dec si

loop @a2_1
jmp exit

@a2:
sub byte ptr [si-1],60h
mov bl,byte ptr [si-1]
add bl,9

jmp @a2_31

exit:
pop di
pop si
pop cx
pop bx
pop ax

ret

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@ZH16:
push ax
push bx
push cx
push dx
push di
push si
mov si,0
mov bx,10h
xor cx,cx

@3_21:
xor dx,dx
div bx
cmp dl,9
ja @3_1
add dl,30h
@3_11:
mov byte ptr ss:[si],dl
inc si
inc cx
cmp ax,0
je @3_2
jmp @3_21
@3_1:
sub dl,9
add dl,60h
jmp @3_11

@3_2:

mov dl,byte ptr ss:[si-1]
mov byte ptr [di],dl

dec si
inc di
loop @3_2

mov byte ptr [di],"$"
lea dx,prt
mov ah,9h
int 21h
pop si
pop di
pop dx
pop cx
pop bx
pop ax

ret

code ends
end start
爱国者黑客_
2009-05-28
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
。。。。。。。。。。。。。。。。。。。。。。。。。。。
你以为百度知道是什么。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c9f8f3fbbe
2009-06-09
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
顺便说一句,我写的和3楼的差不多,其他搜出来的要编译成.COM,如果你要,就到208来找我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-06-09
展开全部
我是208的,小伙子很牛吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e4c6e6e
2009-06-04 · TA获得超过390个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:133万
展开全部
有点困难!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式