问题描述
我正在为ms dos编译/组装引导加载程序代码,如下所示(行号仅用于演示目的)
1. START: CLI ; disable maskable Interrupts
2. XOR AX,AX ; Zero-out the Accumulator and set
3. MOV SS,AX ; Stack Segment register to ZERO.
4. MOV SP,0x7C00 ; Stack Pointer top Now 0000:7C00
5. PUSH SS ;|
6. POP ES ;|Makes sure Extra Segment = ZERO.
7. MOV BX,0x0078 ; 0078h ---> BX
8. LABEL1: LDS SI,SS:[BX] ; SS is still zero...
; Load Far Pointer from [SS:0078]
; into DS:SI (usually 0000:0522).
error: invalid combination of opcode and operands
9. MOV CH,[MediaDescriptor]
10. MOV DL,[DriveNumber]
11. MOV BX,[7C49h]
12. MOV AX,[LABEL7C4B]
13. JMP FAR 0070:0000 ; Same as jumping to
; 0000:0700 (start DOS).
; Boot Record found OS successfully... Jump to OS
;initialization!
error: mismatch in operand sizes
出什么问题了,请提供帮助和指导。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)