Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
当我将存储在eax,ebx,ecx等中的4字节值移动到分配的空间少于4字节的地址空间时,nasm的行为如何?当我移动1个字节时,nasm的行为分别如何...
为什么此堆栈字符串不能在macOS的x64 NASM中打印?
我已经能够使用sys_write成功打印字符串到macOS上的stdout。但是,我无法使用带有回显的execve syscall来打印此堆栈字符串:global _main default rel ...
不久前开始练习汇编。我想通过组装命令lea和shift实现高效的乘法。我想编写一个将调用汇编过程的c程序...
Assembly x86:LEA和MOVSB更改了我的源字符串吗?
我正在用汇编程序x86(Windows中为Intel 32位)编写程序。我正在编写一个程序(用于家庭作业),在该程序中必须加密一个字符串,然后将其迭代由两个字符组成的块。我用...
我正在尝试在x86 NASM程序集中编写一个函数,以反转作为参数传递的字符串中字符的顺序。我尝试使用堆栈来实现它,但最终收到错误消息*** stack ...
我几天来一直在尝试为Windows OS进行汇编编程。我试图将字符串存储在全局原子表中,然后再取回它。问题是:当我打电话给...
到目前为止,我有以下代码:char * s; s =新字符[10]; __asm {mov ebx,s mov byte ptr [ebx],0x48;'H'mov byte ptr [ebx + 1],0x65;'e'mov byte ptr [ebx + 2],...
nasm:disk.asm:32:错误:未定义符号'print'
我正在按照操作系统教程进行操作,我正在使用nasm,并且已指示我运行此命令来编译名为disk.asm的文件的源代码:nasm -f bin disk.asm -o disk.bin,并且我一直在获取...
我有一个代码试图将VBE LFB地址传递到保护模式,但是无法访问正确的值,我只是不知道在保护模式下获取实模式保存的值的正确方法(i。 ..
我对Assembly很陌生,我正在关注在google / youtube上找到的一些教程(大部分是此教程)。我试图独自飞行并编写自己的小程序,但是显然,它不是...
我负责将使用NASM的汇编程序转换为GAS。不幸的是,有很多不匹配的语句。我已经转换了其中的一些,但在如何转换方面仍然遇到麻烦...
我加载第二个扇区(引导加载程序扩展),其代码为:mov ah,00; //重置磁盘int 13h; //磁盘中断mov ax,0x0000; // ...
为什么我不能以vesa模式访问所有像素? mov ax,0x4F02; // vesa视频模式mov bx,0x0101; //模式640x480 256色int 0x10; //视频...
NASM我无法从.data节(DB / DW / DD…)访问数据
我一直在为x16玩具OS编程,该代码位于第二个扇区(system.asm),这里的compille代码为nasm -f bin bootloader.asm -o bin / bootloader.bin nasm -f bin system.asm -o bin / system ....
我需要让用户输入跳过其中的每个辅音。因此,不应打印出第二个辅音(不仅仅是在按下Enter键后的某些过程中删除)。我有一个任务要处理...
我正在尝试弄清楚如何打印出数组的行和列。程序询问多少行和多少列,并根据用户输入显示“输入[0] [0]的数字”“输入...
我跟踪了此页面并编译了以下代码;在64位Linux上调用C函数的汇编程序; ; int main(void){; printf(fmt,1,msg1); ; printf(fmt,2,msg2); ...
程序集x86中`%assign`和`%define`之间的差异
程序集x86中%assign和%define有什么区别?因为对我而言,看起来他们是同一回事,嗯,不是真的。是%assign只是一个%define,以后可以在...中对其进行更改...