佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: fxam

【常见问题】x86组合语言Assembly Language连接索引

[复制链接]
发表于 22-8-2005 08:18 PM | 显示全部楼层
原帖由 flashang 于 22-8-2005 01:13 AM 发表
jmp f000:fff0 应该可以在 dos mode reboot,

要注意的是很多 assembly 的 example 都是 direct control hardware 的,
在 windows 环境之下会 exception error.
而在 dos 环境也可能会 system halt

一般上 ...

那是在16bit mode才可以用的,ms-dos的ctrl+alt+del应该是这样子做的。
还有想到一个方法, 那就是干脆program chipset 来 reset 整个system


原帖由 astral 于 22-8-2005 04:19 PM 发表
BB0200  <-- 这就是 mov bx, 1

刚刚才注意到... mov bx,1 的机器码应该是BB0100吧?


BB0100       =  mov bx, 0x0001
mov bx,1  != BB0100
视情况而定.


回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 22-8-2005 09:41 PM | 显示全部楼层
> BB0200  <-- 这就是 mov bx, 1
> 刚刚才注意到... mov bx,1 的机器码应该是BB0100吧?
已改正,不好意思

> 那是在16bit mode才可以用的,ms-dos的ctrl+alt+del应该是这样子做的。
Linux在x86下的重开机:
http://lxr.linux.no/source/arch/i386/kernel/reboot.c
回复

使用道具 举报

发表于 22-8-2005 10:00 PM | 显示全部楼层
原帖由 糯米鸡 于 22-8-2005 08:18 PM 发表

BB0100       =  mov bx, 0x0001
mov bx,1  != BB0100
视情况而定.

都是假设在16bit 的情况啦。。。
难不成要加上prefix 66h当它是在32bit mode用16bit register?
回复

使用道具 举报

发表于 23-8-2005 08:16 PM | 显示全部楼层
很难讲, 有时候我们只是需要改前面的16 bit,那么这时候就派上用场了。
有人在16 bit的模式用32 bit的register,所以也会有人在32 bit的模式用16bit 的 register。这世界是无奇不有的
回复

使用道具 举报

发表于 23-8-2005 08:24 PM | 显示全部楼层
虽然我是常常这么用, 特别是在16bit protect mode用32bit instruction
不过在这里讨论的时候还是当一般情况来看吧
回复

使用道具 举报

发表于 27-8-2005 12:10 AM | 显示全部楼层
现在我在学校学着microprocessor也是学这些的,但我一点都不明白,有什么方法可以进补吗?
回复

使用道具 举报

Follow Us
 楼主| 发表于 27-8-2005 12:35 AM | 显示全部楼层
> 有什么方法可以进补吗?
如果可以debug的话,找一个简单的程式,从第一个指令开始慢慢step,观察指令对于暂存器(register)、记忆及flag等的变化,如果不懂,就查看指令参考,了解该指令会影响到什么。

另一个要明白的是各种addressing mode。
回复

使用道具 举报

发表于 28-8-2005 09:45 PM | 显示全部楼层
原帖由 fxam 于 27-8-2005 12:35 AM 发表
> 有什么方法可以进补吗?
如果可以debug的话,找一个简单的程式,从第一个指令开始慢慢step,观察指令对于暂存器(register)、记忆及flag等的变化,如果不懂,就查看指令参考,了解该指令会影响到什么。

另 ...


当然,这需要下很多苦功。

你也可以去找一些书本或 example 来参考。 
回复

使用道具 举报


ADVERTISEMENT

发表于 29-8-2005 01:31 PM | 显示全部楼层
哪位对ia32 intel architecture 有兴趣的可以到这个url定它的书, 免费的喔
http://developer.intel.com/design/pentium4/manuals/index2.htm
回复

使用道具 举报

发表于 1-9-2005 03:30 PM | 显示全部楼层
我现在用着这个software,emu8086(可以到www。emu8086。com download)。。里面有一个一个step解释flag/register怎样变化,但我还是不明白。。

特别是flag,有时认为有SF,但电脑显示没有。。

还有OF,CF,AF也很乱。。到底怎样看?是看几多bit吗?
回复

使用道具 举报

发表于 1-9-2005 03:34 PM | 显示全部楼层
现在对flag已经模糊了,如果叫我学习更多东西,我看我会晕掉。。。

以上介绍很多web,什么web是比较basic的?因为我看到很多好象很advance的东西。。
回复

使用道具 举报

发表于 2-9-2005 10:08 AM | 显示全部楼层
我的letcurer只是教到很少东西(我们进度很慢),现在他要我们做一个有关FIBONACCI的program,请问有谁可以帮帮我?或者给我一些提示,因为我也想先学学怎样做
回复

使用道具 举报

发表于 3-9-2005 01:03 AM | 显示全部楼层
从 google 找到的。。。

Fibonacci numbers are  0, 1, 1, 2, 3, 5, 8, 13, ...

Fn === Fn-2 + Fn-1

试看把公式变成程式吧。
可以画画 chat 后才设计程式。
回复

使用道具 举报

发表于 3-9-2005 11:23 PM | 显示全部楼层
对,就是这个formula(有个故事和兔子有关的,说兔子生孩子的数量)

要画什么chart?是flow chart吗?
回复

使用道具 举报

发表于 3-9-2005 11:35 PM | 显示全部楼层
原帖由 flashang 于 3-9-2005 01:03 AM 发表
从 google 找到的。。。

Fibonacci numbers are  0, 1, 1, 2, 3, 5, 8, 13, ...

Fn === Fn-2 + Fn-1

试看把公式变成程式吧。
可以画画 chat 后才设计程式。

我就是不会怎样把公式变成程式。。我们学的是比较普通的comand(mov,add,inc。。)
回复

使用道具 举报

发表于 4-9-2005 01:05 AM | 显示全部楼层
原帖由 DeadCow 于 3-9-2005 11:23 PM 发表
对,就是这个formula(有个故事和兔子有关的,说兔子生孩子的数量)

要画什么chart?是flow chart吗?

找到这由来了。。

A man put a pair of rabbits in a place surrounded on all sides by a wall.
How many pairs of rabbits can be produced from that pair in a year if it is supposed that every month each pair begets a new pair which from the second month on becomes productive?
回复

使用道具 举报


ADVERTISEMENT

发表于 4-9-2005 02:22 AM | 显示全部楼层
The Fibonacci series
is formed by starting with 0 and 1 and then adding the latest two numbers to get the next one:

也就是说
n:   0   1   2   3   4   5   6   7   8   9
Fib  0   1   1   2   3   5   8  13  21  34

从第二个开始,加前面两个就是了。
回复

使用道具 举报

发表于 5-9-2005 05:17 PM | 显示全部楼层
我知道finobacci是什么意思,但不会运用程式,因为学的不多
回复

使用道具 举报

发表于 5-9-2005 10:50 PM | 显示全部楼层
你的程式可以这样设计:

开始设定 f0 = 0, f1 = 1,

然后 f2 = f0 + f1, 并把 f2 存起来。
然后 f3 = f2 + f1, 并把 f3 存起来,以次类推。。。
一直到 fmax, 并把所有存起来的 fn 显示出来就可以了。

备注:
存起来是指放在某一个位址 ( address )
请试试自己想 code.
回复

使用道具 举报

发表于 9-9-2005 12:43 AM | 显示全部楼层
mov ax,0
mov bx,1
mov cx,ax
add ax,bx
mov bx,cx

是这样吗?但好象没有什么效果。。。我学到的comand就只是这些,还有mul,div。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 18-4-2024 08:52 PM , Processed in 0.091098 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表