1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 04:22:22 +00:00

ch3-02: 完善

This commit is contained in:
chai2010 2018-06-23 11:24:09 +08:00
parent 9ca09e480f
commit ec36b35c86

View File

@ -159,17 +159,16 @@ Go汇编为了简化汇编代码的编写引入了PC、FP、SP、SB四个伪
MOV指令是最重要的机器指令它不仅仅用于在寄存器和内存之间传输数据而且还可以用于处理数据的扩展和截断操作。
最简单是忽略符号位的数据传输操作不同的1、2、4和8字节宽度有不同的指令
最简单是忽略符号位的数据传输操作386和AMD64指令一样不同的1、2、4和8字节宽度有不同的指令
| Data Type | 386/AMD64 | Comment |
| --------- | ----------- | ------------- |
| [1]byte | MOVB | B => Byte |
| [2]byte | MOVW | W => Word |
| [4]byte | MOVL | L => Long |
| [8]byte | MOVQ | Q => Quadword |
| Data Type | 386 | AMD64 | Comment |
| --------- | ------- | ------- | ------------- |
| [1]byte | MOVB | MOVB | B => Byte |
| [2]byte | MOVW | MOVW | W => Word |
| [4]byte | MOVL | MOVL | L => Long |
| [8]byte | MOVQ | MOVQ | Q => Quadword |
但是当数据宽度和寄存器的宽度不同又需要处理符号位时,则需要特殊的指令:
但是当数据宽度和寄存器的宽度不同又需要处理符号位时386和AMD64有各自不同的指令
| Data Type | 386 | AMD64 | Comment |
| --------- | ------- | ------- | ------------- |