社区
汇编语言
帖子详情
预祝大家国庆节玩得开心点。。。两个问题散分
W32API
2004-09-30 03:50:43
散分。。。
题目:
1。假设指令集只有加减法、移位、比较等指令而没有乘除法指令,请给出乘除法的通用运算代码;
2。请给出你认为最高效的 switch...case... 的汇编实现。
不限定描述算法所使用的指令集。。。
并请保留适当注释。避免大家因为不熟悉你的指令集而看不明白。
...全文
339
28
打赏
收藏
预祝大家国庆节玩得开心点。。。两个问题散分
散分。。。 题目: 1。假设指令集只有加减法、移位、比较等指令而没有乘除法指令,请给出乘除法的通用运算代码; 2。请给出你认为最高效的 switch...case... 的汇编实现。 不限定描述算法所使用的指令集。。。 并请保留适当注释。避免大家因为不熟悉你的指令集而看不明白。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
网络安全工程师演示:Kali Linux shell自动化脚本编程学习
适合人群:本课程适合兴趣计算机与网络安全技术的学员观看学习。一、学习计划:1.根据课程,搭建起渗透靶场,多在实验环境磨炼和提升自身技能。2.学完之后,可在法律允许范围内,在实际环境中尝试做渗透测试。二、课程目标:掌握Kali Linux shell自动化脚本编程技巧三、课程简介:Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。由于习惯的原因,简洁起见,本文出现的 shell编程 都是指 shell 脚本编程,不是指开发 shell 自身。四、常见
问题
:问:英语和数学基础一般,能学会吗?答:这门课程专为小白设计,英语和数学基础一般没有关系,老师会一步步带领大家从基础学起,由浅入深,您可放心学习,
预祝
您学习愉快!
中秋节
中国传统节日介绍——中秋节 中秋节,中国传统节日,为每年农历八月十五。八月为秋季的第二个月,古时称为仲秋,因此民间称为中秋,又称秋夕、八月节、八月半、月夕、月节,又因为这一天月亮满圆,象征团圆,又称为团圆节。 <style> <!-- .swf, .swf-content, .swf-main {height:100%; width:100%} .s...
虎年最温馨的元宵节短信
1.虎年最温馨的元宵节短信 美女,今天内赶快准备两张一寸免冠彩照、×××和学历证书复印件、个人简历一份,送到×××。我收到可靠消息:国家为庆祝元宵节,要招聘嫦娥! 2.虎年最温馨的元宵节短信 元宵佳节恭喜您收到来自本人的限量纪念版短信,收到者将一生幸福!您可以发送“我想请你吃饭”到本手机与你的偶像亲密接触! 3.虎年最温馨的元宵节短...
开源两个迷你GUI应用程序
Hello,我是新星博主:小恒不会java
汉语言专家级C1,汉语言文学专业审核(文科生均可参考)
先说下本人自身的情况。211大学、非985大学的汉语言文学专业大四学生,均分85,香港交流一学期。2014年十一
国庆节
过后递交的材料,1月12日北京审核部审核。其实审核这
玩
意怎么说呢,难度真的是因人而异。以汉语言文学专业相关的文科专业为例,有人笔试或面试可能会被问到语言学具体流派或者一些名词解释,也有可能针对某一个人的文学作品或文学流派细谈。但是像我当时就只被考到了宋词、古代
散
文之类的高中就学过的...
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章