高分悬赏,解汇编语言题

1,设A,B,C存放三个整数,若三个整数都不为零,则求三数之和,并存放于D中,若有一个数为0,则将其他数也清零,最后将结果输出。要求,至少定义一个子程序,一个宏。
2,从键盘输入十个数(输入回车时表示输入结果),然后将这些数加密后存于BUFF缓冲区中,加密数为:
输入:0,1,2,3,4,5,6,7,8,9
密码:7,5,9,1,3,6,8,0,2,4

我不是科班,也没有老师;学汇编至今靠的只是一本废品站的旧书。
希望版主大侠能对提问补充,告诉我:什么是宏,能给个网址更好。

第1题 设定三数皆<10000H(偷了点懒,不要笑话),依次存在代码段CS
偏移01d0H处: A=A312H、B=C424H、C=9554H,累加和存入偏移0300处,
屏幕输出十六进制结果。手工汇编,进DEBUG中:
---------------------------------------
A100
push cs/pop ds
xor ax,ax/mov dx,ax
mov si,[1d0]/mov di,[1d2]/cs:mov bp,[1d4]
or si,si/jz X0
or di,di/jz X0
or bp,bp/jz X0
call X2
jmp X1
X0:mov [1d0],ax/mov [1d2],ax/mov [1d4],ax
X1: mov [300],dx
mov [302],ax

mov dx,0/mov ah,9/int 21
mov si,[300]/call X3
mov si,[302]/call X3
mov ax,0e48/int 10
mov al,0d/int 10
mov al,0a/int 10
mov ah,4c/int 21

a160
X2: mov ax,si/add ax,di/adc dx
add ax,bp/adc dx ;三数累加
ret

a180
X3: mov bx,si/mov cx,4 ;输出部分
X4: push cx
mov dl,bh/mov cl,4
shr dl,cl/or dl,30
cmp dl,3a/jb X5
add dx,7
X5: mov ah,2/int 21
mov cl,4/rol bx,cl
pop cx
loop X4
ret

e1b0 'A+B+C= $'

-------------------------------------
X0=0124H;X1=012dH;X2=0160H;
X3=0180H;X4=0185H;X5=0197H。

第2题
数字加密,假设输入的都是有效数字(0-9);
下面程序经DEBUG验证通过,由Debug自动导出。
0100 EB0E JMP 0110
0102 0000 ADD [BX+SI],AL
0104 0000 ADD [BX+SI],AL
0106 37 AAA
0107 353931 XOR AX,3139
010A 33363830 XOR SI,[3038]
010E 3234 XOR DH,[SI]
0110 0E PUSH CS
0111 1F POP DS
0112 0E PUSH CS
0113 07 POP ES
0114 BE8001 MOV SI,0180
0117 BF0010 MOV DI,1000
011A B0FF MOV AL,FF
011C B90A00 MOV CX,000A
011F 8804 MOV [SI],AL
0121 81C60001 ADD SI,0100
0125 E2F8 LOOP 011F
0127 BE8001 MOV SI,0180
012A B90A00 MOV CX,000A
012D 51 PUSH CX
012E 89F2 MOV DX,SI
0130 B40A MOV AH,0A
0132 CD21 INT 21
0134 B80D0E MOV AX,0E0D
0137 CD10 INT 10
0139 B00A MOV AL,0A
013B CD10 INT 10
013D 81C60001 ADD SI,0100 ;以上接收10串数字输入
0141 59 POP CX
0142 E2E9 LOOP 012D
0144 FC CLD
0145 BB0601 MOV BX,0106
0148 BD8101 MOV BP,0181
014B B90A00 MOV CX,000A
014E 51 PUSH CX
014F 89EE MOV SI,BP
0151 AC LODSB
0152 98 CBW
0153 89C1 MOV CX,AX
0155 AC LODSB
0156 240F AND AL,0F
0158 D7 XLAT ;查表转换
0159 AA STOSB
015A E2F9 LOOP 0155
015C 81C50001 ADD BP,0100
0160 30C0 XOR AL,AL
0162 AA STOSB ;加密后存入从CS:1000H开始
0163 59 POP CX ;的内存,串间用 00 隔开。
0164 E2E8 LOOP 014E
0166 B44C MOV AH,4C
0168 CD21 INT 21
016A 0000 ADD [BX+SI],AL
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-28
简单倒是简单,就是繁琐。
这2个都是很简单的汇编,还是认真学习吧。
第2个回答  2008-11-27
汇编都是相对于某一硬件的。再者你还要有键盘字符输入,这需要相应的操作系统支持外加一些库的支持,要是直接在裸机上跑的程序(无操作系统环境),而且全用汇编实现,代码量不小啊。
总之问题应该再具体些。
第3个回答  2008-11-27
有些指令难度!!!
第4个回答  2008-11-27
高深,想学不会啊!!
第5个回答  2008-11-27
不难。要是计算机专业的,自己做啊~

高分悬赏,汇编语言高手进
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 ...

高分悬赏!关于汇编语言的一些问题!
第5题有点迷糊...感谢锟鹏展翅为我找出错误,谢谢!现在可能没问题了呵呵...有什么问题的话还请指出 1 assume cs:code, ds:datas datas segment var db 100, 77, 69, 201, 32, 148 answer db 0 datas ends code segment start:mov bx, datas mov ds, bx mov cx, 6 mov bx, offset...

高分悬赏:MOV AX 1000H是什么意思?
MOV AX, 1000H和MOV DX, 1000H都是立即寻址方式,即1000H是一个具体的数字,就是把1000H这个数赋给AX或者DX。立即寻址指令提供的操作数直接包含在指令中,它紧跟在操作码的后面,与操作码一起放在代码段区域中,操作数是8位或16位,若是16位,则存储时低位在前,高位在后。

超高分请教一道汇编语言编程问题
手机版 我的知道 超高分请教一道汇编语言编程问题 内容是编写由键盘输入10个4位的数据并将这些数由大到小或由小到大进行排序其结果输出在显示屏上的程序.程序已经写好:DATASEGMENTLENEQU10ARRAYDW10DUP(?)MESSDB0DH,0AH,'PLEASEINPUT... 内容是编写由键盘输入10个4位的数据并将这些数由大到小或由小到大进行...

...C语言!救人一命胜造七级浮屠!高分悬赏,选中的好加100!谢谢了!_百度...
.exe )。12.计算机程序设计语言的发展经历了从(机器语言)、(汇编语言)到(高级语言)的历程。13.c语言的字符串常量是用( 双引号" " )括起来的字符序列。14.break语句只能用于(循环)语句和(分支)语句中。15.设a=12,表达式a+=a-=a*=a预算后a的值是:( 0 )...

...高分悬赏 限时速来 用汇编语言 不能用C语言 谢谢
GREEN_NS EQU P3.2 RED_EW EQU P3.3 YELLOW_EW EQU P3.4 GREEN_EW EQU P3.5 ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)SETB TR0 SETB ET0 SETB EA SETB GREEN_EW SETB RED_NS CLR RED...

(高分悬赏)急!!!汇编语言用什么软件好?适宜初学者的.
另外一个就是国内的罗云彬编著的《Windows环境下32位汇编语言程序设计》网上也有该书的pdf文件下载。可是两种教程都没有介绍在Windows环境下的汇编IDE使用,罗云彬的书依然建议用makefile方式来手工编译程序,而源代码的编辑则用editplus来做。最多人使用的莫过于RadAsm,我用的是RadASM 2.2.0.9 ;另外...

【高分悬赏】我想知道怎么修改一个EXE文件,希望专家能来回答一下_百度...
允许一个程序支持多种语言,或者添加一个自定义图标或位图 (公司的标识等) 到程序的对话中。 5. 删除 资源。大多数编译器添加了应用程序永远不会用到的资源到应用程序中。删除这些不使用的资源可以减小一个应用程序的大小。PE Explorer 功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括...

帮我对比一下这几种专业(超高分悬赏!满分200分!)
主要课程:电路原理、模拟电子技术、数字逻辑、数字分析、计算机原理、微型计算机技术、计算机系统结构、计算机网络、高级语言、汇编语言、数据结构、操作系统等。 主要实践性教学环节:包括电子工艺实习、硬件部件设计及调试、计算机基础训练、课程设计、计算机工程实践、生产实习、毕业设计(论文)。 修业年限:四年 授予学...

VF和WIN2000所有常见单词(高分悬赏)
VF和WIN2000所有常见单词(高分悬赏) 如题,如果回答的好再追加,我急用呀~~~十万火急啊,帮忙啊各位VF的不要是命令,比如database,form===答对了再追加50分,莫法了... 如题,如果回答的好再追加,我急用呀~~~十万火急啊,帮忙啊各位VF的不要是命令,比如database,form===答对了再追加50分,莫法了 展开 ...

相似回答