随笔分类 -  汇编

摘要:把C语言翻译成汇编语言if(dx<=cx) x=1else x=2main PROC mov edx,4 mov ecx,5 cmp edx,ecx jle L1 mov x,2 jmp nextL1: mov x,1next: mov eax,x call WriteDec retmain endpif(bx>cx) x=1 mov eax,4 mov ebx,5 cmp eax,ebx jg next mov x,1 mov eax,x call WriteDecnext: retif(Val1>cx AND cx>dx) X=1else X=2.dataX DWO 阅读全文
posted @ 2011-06-04 10:21 linyilong 阅读(393) 评论(0) 推荐(0) 编辑
摘要:C语言里面AddTwoint AddTwo(int x,int y){ return x+y;}翻译成汇编可以翻译成这样:AddTwo PROC push ebp mov ebp,esp mov eax,[ebp+12] add eax,[ebp+8] pop ebp ret AddTwo endp然后main函数调用:main PROC push 6 push 5 call AddTwo call WriteDec retmain endp程序执行如下图但是上面会发生内存,因为在addTwo执行完毕后,esp如下图:这样程序返回后就会跳到5处执行,所以程序最后会发生如下图的错误:可以用这种方 阅读全文
posted @ 2011-06-04 10:20 linyilong 阅读(252) 评论(0) 推荐(0) 编辑
摘要:Intel汇编语言程序设计第五章编程联系绘制色彩文本 1 INCLUDE irvine32.inc 2 3 .data 4 str1 BYTE "Enter",0 5 color DWORD 1 6 7 .code 8 PrintText PROC 9 mov ecx,410 L1:11 mov eax,color12 call SetTextColor13 call WriteString14 inc color15 loop L116 ret17 PrintText endp18 19 main PROC20 mov edx,offset str121 call Pri 阅读全文
posted @ 2011-06-02 14:55 linyilong 阅读(246) 评论(0) 推荐(0) 编辑