What is the longest byte instruction possible in 8088?

北城余情 提交于 2019-12-12 03:41:08

问题


I'm making a minimalistic assembler for 8088. I would like to know what is the longest possible byte instruction combination?

At the moment, the longest instruction I found is 6 bytes.:

add word [0134], 0032

which translates to

81 06 34 01 32 00

Is there anything longer than 6 bytes?


Also a Sidequestion, I understand the whole 6 bytes completely except for the 4th byte.

like for example:

1st byte means: add with 16bit of immediate data

2nd byte means: Base pointer + displacement command

3rd byte means: the displacement

5-6 byte means: the 16bit data

But I have no idea what does the 4th byte means, specifically the "1" value.

What does that mean?


回答1:


The longest byte the 8088 supports is 4-bytes for word size arithmetic type functions that you've already identified. These 4-byte instructions do not contain the 3rd byte displacement you suggest. The '1' refers to the trailing bit of the first 1 byte, not an entire byte in itself.

Reference: The 8088 Data Sheet - Page 26-30



来源:https://stackoverflow.com/questions/22668315/what-is-the-longest-byte-instruction-possible-in-8088

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!