汇编语言中的操作码占多少字节?

来源:百度知道 编辑:UC知道 时间:2024/06/30 07:20:44
第一个问题:比如说int这个中断指令占多少字节,
能不能提供一个涵盖所有汇编语言指令(助记符、操作码)的各占有多少字节的表;
第二个问题:这些指令(操作码)如何存放在内存中的代码段中。
比如说int在内存中的代码段是如何摆放的;
第三个问题:一个语句,比如说int 08h是如何存放在内存中的代码段的,
相邻的存储单元里,08h放在高地址单元中,int放在低地址单元中?

①INT这个指令占用1或2和字节
INT 3的机器码是CC,其他的是2字节
sorry,我也不知道3号中断是干嘛的,有这么大的特权,自己单用一个指令机器码,你有兴趣自己查查吧

有个常用指令的
http://www.namipan.com/d/08f3b37df31af5a740d2533ad37ec01487af86b5c94b0100
我传到纳米盘里了,不是很大,下载速度再慢也不可能等太久
这个是masm32中的一个帮助文件,不是全部的指令,但常用的都在了
这还有一个(在别人的回答里看到的):
http://www.shsiyue.com/data/hard/80x86-code-bin.htm
哥们不要再想全部这个词了,想当初我也对全部这个词很喜欢,但是事实不允许啊,intel的指令太多了,据说有好几本,常用的知道了就行了,其他的用到的时候再搜索也不迟

②都是按 指令机器码 操作数 的形式存放的
不过操作数中大于1字节的数据还是用的那种很别扭的方式存放的,就是高位在高位,低位在低位的那种

你的第三个问题和第二个问题重复了吧?

第一问:int 指令占2个字节
有一方法能得到其长度,就是编译成.exe文件,在debug中用u命令可以看见其指令长度(字节数)

第二问:所以的指令都有自己的字节数,通过传送指令传到内存中存放

第三问:int 08H实际上字节数为:CD 08 由低到高 ,所以高位为08H
低位为CD(int)