首页 > 其他分享 >初试nasm

初试nasm

时间:2024-03-06 19:45:46浏览次数:19  
标签:初试 语句 win64 win32 编译 main nasm

二十余年过去了,课堂上学了又好像没学的汇编,昨今两日撞上了又试了试,教程上推荐linux环境安装nasm,简单试了试输出hi语句
(开始sasm图形界面编译不了,需执行sudo apt install libc6-dev),
终端编译语句记录如下:
nasm -f elf64 -g -F dwarf a.asm
ld -o a a.o
又琢磨win平台上怎么也得转一圈,安装试很顺利的,
nasm和sasm摸着鱼就装上了,测试语句却遇到问题,屡屡报错。记录如下:
1.输出win32和win64的汇编语句竟然有差异,比如
extern _printf
global _main ;可以在win32通过,win64过不了。
_main:
push msg
call _printf
add esp, 4
ret
;...................................................
extern puts
global main ; 可以在win64通过,win32过不了。
main:
sub rsp,20h
mov rcx,msg
call puts
add rsp,20h
ret
入场即入坑,转转也恍然。

2.mingw32和mingw64的gcc需分别匹配win32和win64编译产生的obj文件

cmd编译语句记录如下:
nasm -f win64 a.asm 或 nasm -f win32 a04.asm
gcc a.o -o a.exe

标签:初试,语句,win64,win32,编译,main,nasm
From: https://www.cnblogs.com/qiuwenzheng/p/18057366

相关文章

  • 四川农业大学农业信息工程/电子信息866专业课初试资料
    讲在前面:我们是川农计算机考研上岸直系川农学长学姐。并非机构!想为大家提供川农计算机考研一手资料,资料在收集和整理过程中大家付出了许多精力和心血,因此需要收取一点费用,还望见谅(❁´◡`❁)如果关于资料有什么不满意的部分可向客服同学申诉,我们会虚心听取大家的建议和意见并作......
  • python初试终章
    之前在单机上实现了一个Django服务器,现在我们可以把这个服务器推上一个云平台。这里我选择使用阿里云。阿里云准备在阿里云官网(aliyun.com)页面注册阿里云账号。登录后选择云服务器ECS,并选择“创建实例”:选择操作系统Ubuntu14.0464位,设置密码。实例开通后,可以在实例记录中查......
  • python初试七
    前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等。但都是使用pythonmanage.pyrunserver来运行服务器。这是一个实验性的web服务器,不适用于正常的站点运行。我们需要一个可以稳定而持续的服务器。这个服务器负责监听http端口,将收到的请求交给Django处理,将Django......
  • python初试六
    之前了解了:创建Django项目数据库模板表格提交admin管理页面上面的功能模块允许我们做出一个具有互动性的站点,但无法验证用户的身份。我们这次了解用户验证部分。通过用户验证,我们可以根据用户的身份,提供不同的服务。一个Web应用的用户验证是它的基本组成部分。我们在使用一......
  • python初试五
    Django提供一个管理数据库的app,即django.contrib.admin。这是Django最方便的功能之一。通过该app,我们可以直接经由web页面,来管理我们的数据库。这一工具,主要是为网站管理人员使用。这个app通常已经预装好,你可以在mysite/settings.py中的INSTALLED_APPS看到它。默认界面admin界面......
  • python初试四
    我们在上一课中讲到了服务器上的数据。当时我们是用手动的方式,直接在数据库插入数据。我们将允许客户向服务器传递数据。表格是客户向服务器传数据的经典方式。我们先会看到传统的表格提交,然后了解Django的表格对象。html表格HTTP协议以“请求-回复”的方式工作。客户发送请求时,......
  • python初试三
    在之前的程序中,我们直接生成一个字符串,作为http回复,返回给客户端。这一过程中使用了django.http.HttpResponse()。在这样的一种回复生成过程中,我们实际上将数据和视图的格式混合了到上面的字符串中。看似方便,却为我们的管理带来困难。想像一个成熟的网站,其显示格式会有许多重复的......
  • python初试二
    连接数据库Django为多种数据库后台提供了统一的调用API。根据需求不同,Django可以选择不同的数据库后台。MySQL算是最常用的数据库。我们这里将Django和MySQL连接。在Linux终端下启动mysql:$mysql-uroot-p在MySQL中创立Django项目的数据库:mysql>CREATEDATABASEvillaDEFAULT......
  • 重庆大学考研916微机原理及应用三831历年真题912参考答案初试辅导资料【全】
    重庆大学考研916微机原理及应用三831历年真题912参考答案初试辅导资料【全】重庆大学微机原理考研916微机原理及应用三912微机原理及应用二、831微机原理及应用一历年真题参考答案初试辅导资料获取链接:https://www.uu2id.com/950.html 资料含历年真题难点题目详细解析2......
  • 汇编语言编译环境搭建(MASM+NASM)
    (目录)一、Windows1.下载相关软件DOSBox官网:https://sourceforge.net/projects/dosbox/下载:DOSBox0.74-3-win32-installer.exeMASM5.0网上可以下载2.配置环境双击之后,修改配置文件:windowresolution=1024x768output=ddraw在DOSBox模拟器中挂载MASM5.0mountc:d......