海浩网论坛
标题:
第三题
[打印本页]
作者:
卖女孩的火柴
时间:
2004-6-3 21:11:17
标题:
第三题
题前讲解
多题前讲解字节非压缩型BCD码的乘法运算与加减法不同,要求参加运算的乘数,被乘数必须用非压缩型BCD码,即高4位为0,低4位表示一位十进制数。也就是说当乘数,被乘数有ASCII码表示的话,则在进行乘法运算之前,必须将ASCII码高4位清零,然后采用指令系统提供的十进制乘法调整指令AAM和MUL指令配合,就可完成十进制的乘法运算!
本题的分析
设被乘数从低位到高位以ASCII的码形式存放在ADR1为首址的数据区中。同样,乘数也以ASCII码形式存放在ADR2单元中,所得运算后的乘积存放在RESULT为首址的单元中。
DATA SEGMENT
ADR1 DB ‘49375' ;定义被乘数57394
ADR2 DB ‘8’ ;定义乘数8
RESULT DB 6DUP(?);定义存放结果单元
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
MMULT: MOV AX,DATA
MOV DS,AX
MOV ES,AX
CLD
作者:
卖女孩的火柴
时间:
2004-6-3 21:11:52
MOV SI,OFFSET ADR1
MOV DI,OFFSET RESULT
MOV CX,5
AND ADR2,0FH ;将乘数的高4位清0
MOV BYTE PTR[DI],0
L1:LODSB ;[AL]←SI且SI←SI+1
AND AL,0FH ;将被乘数对应的高4位清0
MUL ADR2 ;将最低位开始相乘,运算结果送AX
AAM ;十进制数乘法运算调整
ADD AL,[DI] ;加进位
AAA ;十进制数加法运算调整
OR AL,30H ;将结果位换成ASCII码
STOSB ;[DI]←AL且DI←DI+1
MOV [DI] ,AH ;存放前运算结果位
作者:
此朱非彼猪
时间:
2004-6-3 21:13:19
我也来听课行不
作者:
卖女孩的火柴
时间:
2004-6-3 21:19:11
可以,欢迎。
作者:
卖女孩的火柴
时间:
2004-6-3 21:21:08
LOOP L1 ;重复相乘运算5次
OR BYTE PTR[DI],30H
MOV CX,6 ;输出乘积结果6位数
L2: MOV DL,[DI] ;从高位到低位开始输出显示
MOV AH,02H ;2号系统功能调用
INT 21H
DEC DI
LOOP L2
MOV AH,4CH
INT 21H
CODE ENDS
END MMULT
作者:
梅子1983
时间:
2004-6-3 21:28:43
高手来了,那把我的另外一个问题也给解决了吧!
作者:
司空ゼ斩
时间:
2004-6-3 21:29:53
我可不可以晕一会儿?
作者:
梅子1983
时间:
2004-6-3 21:30:29
我的机子注删表老是被别人改动!现在又被别人给禁用了!问大家一下:怎么开通已经被禁用的注删表,然后把它禁用!不给别人打开!
作者:
卖女孩的火柴
时间:
2004-6-3 21:47:35
还原法:在DOS下
A盘或者C盘下:SCANREG/RESTORE回车就可以恢复注册表。
禁用注删表在到注册表编辑窗口中去
作者:
viphawk2000
时间:
2004-6-3 21:48:57
我怎么什么也没看懂?!看来我也得去晕一下了。
作者:
梅子1983
时间:
2004-6-3 21:55:10
好像不行!我试过了!不是这么简单吧!
作者:
卖女孩的火柴
时间:
2004-6-3 21:56:35
如果注删表不是人为破坏的,是程序自己错了,这种方法可能不行!要用另外和一种恢复法!
要保存一个注删表文稿件才可以
作者:
梅子1983
时间:
2004-6-3 21:59:13
那就说啊!具体一点吧!
作者:
卖女孩的火柴
时间:
2004-6-3 22:05:28
说挺麻烦的,手都打酸了。劝你格式化。
作者:
卖女孩的火柴
时间:
2004-6-3 22:16:21
恢复方法:
1,将下列字段保存为一个扩展名为REG的注删表文件:
REGEDIT4
[HKEY-CURRENT-USER/software/misrosft/windows/currentversion/policies/system]
"disableregistrytools''=dword:00000000
2,保存文件后,双击该文件,将其导入注删表既可!
作者:
卖女孩的火柴
时间:
2004-6-3 22:21:40
禁用注删表的方法:
在注删表编辑窗口的左窗口中依次打开:
[HKEY-CURRENT-USER/software/misrosft/windows/currentversion/policies/system]分支
然后新建DWORD值DISABLEREGISTRYTOOLS,并将键值设置为1
作者:
卖女孩的火柴
时间:
2004-6-3 22:24:53
备分注删表:在DOS下
C盘下输入scanreg回车
star:creat backups 备份
star:view backups查看(restore还原)
作者:
梅子1983
时间:
2004-6-3 22:28:26
谢谢你了!不是你的朋友吗?改天你请他吃饭不就行了!我给钱了OK吧!
作者:
卖女孩的火柴
时间:
2004-6-3 22:32:07
不为这事我也会请他吃饭,请客只不过是聚会的借口罢了。钱虽不多,但自己还有。
作者:
梅子1983
时间:
2004-6-3 22:55:21
那好啊请吃的时候把我也算上啊!我想认识一下你这位朋友!可以吗?哦,忘记了你在安徽!
作者:
梅子1983
时间:
2004-6-3 23:04:26
有机会来宁波玩吧!我请你吃饭!
作者:
卖女孩的火柴
时间:
2004-6-3 23:06:35
早点睡觉。他是Jack,我没告诉他是你。
作者:
梅子1983
时间:
2004-6-3 23:09:00
谁?什么JACK?
作者:
卖女孩的火柴
时间:
2004-6-3 23:14:57
离开你的他
作者:
梅子1983
时间:
2004-6-3 23:22:21
真的吗?难道我真的逃不出他的生活吗?怎么又是他呢?你为什么找他呢?你为什么不欺骗我一次呢?
作者:
卖女孩的火柴
时间:
2004-6-3 23:23:13
让你说我们安徽人都是骗子么
作者:
梅子1983
时间:
2004-6-3 23:26:03
我宁愿你是个骗子!也不相信这是真的
作者:
卖女孩的火柴
时间:
2004-6-3 23:27:19
那就这么认为吧。
欢迎光临 海浩网论坛 (http://bbs.highot.net/)
Powered by Discuz! X2