很奇怪,这几行代码也能执行!!!!
-u100
17A4:0100 33C0 XOR AX,AX
17A4:0102 8ED0 MOV SS,AX
17A4:0104 BC007C MOV SP,7C00
17A4:0107 FB STI
17A4:0108 B90002 MOV CX,0200
17A4:010B 8BF4 MOV SI,SP
17A4:010D 8BF8 MOV DI,AX
17A4:010F 8ED8 MOV DS,AX
17A4:0111 6A DB 6A
17A4:0112 60 DB 60
17A4:0113 07 POP ES
17A4:0114 FC CLD
17A4:0115 F3 REPZ
17A4:0116 A4 MOVSB
17A4:0117 EAD9006000 JMP 0060:00D9
17A4:111及下面一条那里怎么是个DB指令呀?
DB应该不是一条指令吧?
如果是PUSH 60,这段代码倒很清楚。但PUSH 60不合语法。
我是初学汇编,高手们指点下吧。
问题点数:20、回复次数:4Top
1 楼dunkel(内心和夜 哪个黑)回复于 2003-12-03 21:43:18 得分 8
那个是 386 以上级的指令, 由于 debug 一直只能识别 8086 级的指令, 所以它将它们当做数据了. 6A 60 确实就是 push 60 指令Top
2 楼prettywolf(多情自古空余恨,此恨绵绵无绝期)回复于 2003-12-03 22:16:43 得分 0
那里有386级指令的介绍呀,用DEBUG都不能看懂。Top
3 楼gad1star(gad_star)回复于 2003-12-03 22:35:24 得分 4
用debug32吧。
http://aogo.yeah.net/ 有下Top
4 楼W32API()回复于 2003-12-03 23:01:55 得分 8
PUSH—Push Word or Doubleword Onto the Stack
Opcode Instruction Description
FF /6 PUSH r/m16 Push r/m16
FF /6 PUSH r/m32 Push r/m32
50+rw PUSH r16 Push r16
50+rd PUSH r32 Push r32
6A PUSH imm8 Push imm8
68 PUSH imm16 Push imm16
68 PUSH imm32 Push imm32
0E PUSH CS Push CS
16 PUSH SS Push SS
1E PUSH DS Push DS
06 PUSH ES Push ES
0F A0 PUSH FS Push FS
0F A8 PUSH GS Push GSTop




