社区
汇编语言
帖子详情
预祝大家国庆节玩得开心点。。。两个问题散分
W32API
2004-09-30 03:50:43
散分。。。
题目:
1。假设指令集只有加减法、移位、比较等指令而没有乘除法指令,请给出乘除法的通用运算代码;
2。请给出你认为最高效的 switch...case... 的汇编实现。
不限定描述算法所使用的指令集。。。
并请保留适当注释。避免大家因为不熟悉你的指令集而看不明白。
...全文
355
28
打赏
收藏
预祝大家国庆节玩得开心点。。。两个问题散分
散分。。。 题目: 1。假设指令集只有加减法、移位、比较等指令而没有乘除法指令,请给出乘除法的通用运算代码; 2。请给出你认为最高效的 switch...case... 的汇编实现。 不限定描述算法所使用的指令集。。。 并请保留适当注释。避免大家因为不熟悉你的指令集而看不明白。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Areslee
2004-10-10
打赏
举报
回复
唉,学过小学数学的人就知道该怎么写这代码。。。
那些人问8过是因为懒罢了
这种东西真的没有意思
Rex_love_Burger
2004-10-10
打赏
举报
回复
学习!!
SnHnBn
2004-10-10
打赏
举报
回复
switch case 现有流行的C编译器尽量都用Hash表算法。
写汇编代码? 还是免了吧……
W32API
2004-10-09
打赏
举报
回复
楼上,你这家伙屁屁痒了哦?
乘除法的运算是因为有人就那么问我,她在 EM78 下面没有除法。。。
我自己的当然不会笨到在实现过程中使用除法去做。人家有什么指令,我们就用什么方法去做。。。
Areslee
2004-10-09
打赏
举报
回复
B4乱挖坑地淫,坚决不回复此类问题
:)
zhangze
2004-10-08
打赏
举报
回复
;switch......case的
;假设eax中为选择字
mov ebx,addr switch_table
mov ebx,[ebx+eax<<2]
jmp ebx
ret
switch_table(4字节对齐):
case0_addr
case1_addr
大熊猫侯佩
2004-10-07
打赏
举报
回复
偶写的乘法用的是位层面上的操作,理解难一点,但扩展很方便。
除法用的是辗转相减法,理解简单,但扩展相对难一点。
前者偶是站在计算机的立场上,所以它容易,偶难
后者偶是站在偶门人的立场上,所以它容易,偶也容易... ...
N多废话之后... ...闪先... ...-_-b
jk88811
2004-10-07
打赏
举报
回复
^-^我一个都看不懂呀,楼主就可怜给点分吧!
W32API
2004-10-06
打赏
举报
回复
实际上,作为比较通用的算法,test bit 的操作换成逻辑移位到进位标记去会更好。
alyue
2004-10-06
打赏
举报
回复
边学习边蹭分
dump123
2004-10-05
打赏
举报
回复
和星期六星期天没什么两样,别说我不爱国,我的心里就是这么觉得,我不会虚伪地说我多爱国。就算我没大家这么爱国,也是因为社会环境造就的。
dump123
2004-10-05
打赏
举报
回复
佛家说,沉迷不好。
你要追求到哪种程度的更好的算法?
我感觉春节的除夕最热闹,真正到了春节就觉得逊色多了。国庆节更是如此
hswxf
2004-10-05
打赏
举报
回复
老师好呀!放假了也整人呀!
哈哈
W32API
2004-10-04
打赏
举报
回复
这么急着拿分?国庆都还没过
问题是我还需要时间去看看有没有我认为更好的做法,当然,我自己已经在使用一种算法。
dump123
2004-10-04
打赏
举报
回复
INCLUDE ANY.ASM
什么时候给分?
大熊猫侯佩
2004-10-03
打赏
举报
回复
;******************
;A Kinds Production
;******************
;============================
;About MulK,IMulK,DivK,IDivK
;Work On 200410011507 At Home
;============================
data segment
aopr dw 0fffch
bopr dw 0ffch
copr dw ?
result dw ?,?
l1bit dw 1
cmpit dw 11b
l2bit01 dw 1
l2bit10 dw 2
af dw 0
bf dw 0
data ends
;****************************
stack segment stack
dw 256 dup(?)
tos label word
stack ends
;****************************
code segment
assume cs:code,ds:data
assume es:data,ss:stack
MulK macro opr1,opr2
mov ax,opr1
mov bx,opr2
sub dx,dx
mov cx,16d
lop1: test ax,l1bit
jz no
add dx,bx
jmp step1
no: add dx,0
step1: rcr dx,1
rcr ax,1
loop lop1
endm
IMulk macro opr1,opr2
mov ax,opr1
mov bx,opr2
sub dx,dx
test ax,1
jz step2
sub dx,bx
step2: sar dx,1
rcr ax,1
mov cx,15d
lop2: push ax
rcl ax,1
and ax,cmpit
cmp ax,l2bit01
jz yes01
cmp ax,l2bit10
jz yes10
jmp step3
yes01: add dx,bx
jmp step3
yes10: sub dx,bx
step3: pop ax
sar dx,1
rcr ax,1
loop lop2
mov result,ax
mov result+1,dx
endm
DivK macro opr1
mov bx,bopr
mov copr,bx
sub cx,cx
mov aopr,cx
lop3: push ax
sub ax,bopr
push dx
sbb dx,aopr
pop dx
pop ax
jb step4
inc cx
mov bx,copr
add bopr,bx
adc aopr,0
jmp lop3
step4:
sub bopr,bx
sub ax,bopr
mov aopr,ax
mov bopr,cx
endm
IDivK macro opr1,opr2
;上面是无符号除法,带符号除法只要对以上简单改进即可,详细如下:
;判断两个除数,分别置 af,bf 位
;若:af=0,bf=0,则直接计算
;af=1,bf=1,先对两除数求补,然后计算
;af=1,bf=0 or af=0,bf=1 先将负数求补,计算,然后将结果求补。
;偶实在不想写了,呵呵,打实况去... ... -_-b
endm
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax
mov ax,stack
mov ss,ax
mov sp,tos
;MulK aopr,bopr
;IMulK aopr,bopr
mov dx,0fch
mov ax,0fffch
DivK aopr bopr
mov ah,4ch
int 21h
code ends
;**************************
end start
wangziz
2004-10-03
打赏
举报
回复
up
大熊猫侯佩
2004-10-03
打赏
举报
回复
没有最高效,只有更高效,呵呵!
Name BranchT
;********************************
code segment
assume cs:code,ds:code
y dw 3
ym dw 1,2,3,4,5
btdo macro x,xm
mov ax,x
cmp ax,xm
jz x0do
cmp ax,xm+2
jz x1do
cmp ax,xm+4
jz x2do
cmp ax,xm+6
jz x3do
cmp ax,xm+8
jz x4do
jmp exit
x0do:
jmp exit
x1do:
jmp exit
x2do: mov bx,0ffffh
jmp exit
x3do:
jmp exit
x4do:
exit:
endm
start:
mov ax,code
mov ds,ax
btdo y,ym
mov ah,4ch
int 21h
code ends
;*******************************
end start
大熊猫侯佩
2004-10-02
打赏
举报
回复
to YFLK(远方来客)
32位乘除如何做呀?
偶上面写的乘法,稍加扩展可以进行任意位的乘法。
除法还没写,一直在玩暗黑,呵呵!^O^
SDFDSAC
2004-10-02
打赏
举报
回复
拿分走人
加载更多回复(8)
中秋节
八月为秋季的第二个月,古时称为仲秋,因此民间称为中秋,又称秋夕、八月节、八月半、月夕、月节,又因为这一天月亮满圆,象征团圆,又称为团圆节。 <style> <!-- .swf, .swf-content, .swf...
虎年最温馨的元宵节短信
1.虎年最温馨的元宵节短信 美女,今天内赶快准备两张一寸免冠彩照、×××和学历证书复印件、个人简历一份,送到×××。我收到可靠消息:国家为庆祝元宵节,要招聘嫦娥! 2.虎年最温馨的元宵节短信 ...
开源
两个
迷你GUI应用程序
", "情人节,让我俩彼此拥抱浪漫,
两个
人的浪漫靠在一起就是温暖,
两个
人的温暖靠在一起就不惧严寒。不惧严寒就会情意缠绵,情意缠绵就会地久天长。", "情人节智力测试题:两种蔬菜同时拥有一个品牌的手机!猜两种...
汉语言专家级C1,汉语言文学专业审核(文科生均可参考)
2014年十一
国庆节
过后递交的材料,1月12日北京审核部审核。其实审核这玩意怎么说呢,难度真的是因人而异。以汉语言文学专业相关的文科专业为例,有人笔试或面试可能会被问到语言学具体流派或者一些名词解释,也有...
在IBM实习的日子
我以这篇日志简要地总结一下我在IBM实习时所经历的一切,把这份经历分享给所有人,
预祝
中国广大的待从业者能在这次残酷的金融危机中能冲破考验,度过寒冬。 同中国广大的程序员一样,我在刚涉足这个行业的时候,就...
汇编语言
21,496
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章