Win10下C语言转8086汇编

您所在的位置:网站首页 汇编转化为c语言 Win10下C语言转8086汇编

Win10下C语言转8086汇编

2023-05-27 19:22| 来源: 网络整理| 查看: 265

目录Win10下C语言转8086汇编简介开始写C代码转换成汇编代码

Win10下C语言转8086汇编 简介

最近学习《王爽汇编》,然后突发奇想,想一边写C语言用编译器将其翻译成汇编代码,然后对照着学习高级代码转换低级代码的过程,经过一番搜索后发现个不错的方案:DOSBOX + Turbo C。

开始

直接下网上大佬集成好的带TC版的DOSBOX,我从CSDN上下的挺坑要积分,我这里上传到百度云给各位大佬下载传送下载 提取码:6ara 。

image-20210913164159614

写C代码

双击启动TC2.0.exe,打开了Trubo C编写C语言代码。

image-20210913164308670

选中File->New,然后写个HelloWord的代码。

image-20210913171452542

接着按F10,然后继续选中File,接着选中Save,保存为HelloWorld.C

image-20210913171537474

然后编译链接看看,直接按F9,编译通过没有报错,并且目录下生成了EXE。

image-20210913174537220

image-20210913175150622

直接ctrl+f9运行程序,并按alt+f5切换到DOS界面,就能看到HelloWorld了。

image-20210913175403956

漂亮!终于用C写了个DOS版的Hello,World 之前都是用汇编写的。

转换成汇编代码

先切换到DOS的shell。

image-20210913183826238

然后执行如下命令tcc -S -ml -I./include -L./lib HelloWorld.c

image-20210913184026832

成功后多出一个HelloWorld.asm文件,汇编代码如下。

ifndef ??version ?debug macro endm endif ?debug S "hellowor.c" HELLOWOR_TEXT segment byte public 'CODE' DGROUP group _DATA,_BSS assume cs:HELLOWOR_TEXT,ds:DGROUP HELLOWOR_TEXT ends _DATA segment word public 'DATA' d@ label byte d@w label word _DATA ends _BSS segment word public 'BSS' b@ label byte b@w label word ?debug C E99A8D2D530A68656C6C6F776F722E63 ?debug C E937892D53112E2F696E636C7564655C737464696F2E68 ?debug C E900501D11122E2F696E636C7564655C7374646172672E68 _BSS ends HELLOWOR_TEXT segment byte public 'CODE' ; ?debug L 2 _main proc far ; ?debug L 4 push ds mov ax,offset DGROUP:s@ push ax call far ptr _printf pop cx pop cx ; ?debug L 5 xor ax,ax jmp short @1 @1: ; ?debug L 6 ret _main endp HELLOWOR_TEXT ends ?debug C E9 _DATA segment word public 'DATA' s@ label byte db 72 db 101 db 108 db 108 db 111 db 44 db 87 db 111 db 114 db 108 db 100 db 33 db 13 db 10 db 0 _DATA ends extrn _printf:far HELLOWOR_TEXT segment byte public 'CODE' HELLOWOR_TEXT ends public _main end

本文来自博客园,作者:VxerLee,转载请注明原文链接:https://www.cnblogs.com/VxerLee/p/15264290.html 专注逆向、网络安全 ——VxerLee



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3