为什么数据段和堆栈段是可执行的?
我刚刚注意到我的简单程序的数据和堆栈段是可执行的。 我在 /proc/[pid]/maps 中看到它,并且简单的代码证实了这一点。 例如: ; prog.asm section .d…
汇编 mips 和回车
我在使用汇编 MIPS 时遇到了这个问题。 我从键盘读取一个整数,范围必须是 1..20 li $v0,5 syscall move $t2,$v0 # value read blez $t2,err1 # if $t…
用于汇编样式十六进制数字的 C# 正则表达式
我是正则表达式的新手,我想以汇编样式突出显示十六进制数字。像这样: $00 $FF $1234 ($00) ($00,x) 甚至以 # 开头的十六进制数字。 到目前为止,我…
如何将变量转换为要打印的 DECIMAL 字符串?
我计划将 X 变量转换为十进制。我在使用涡轮汇编器时遇到了困难,你能帮忙吗? code segment ;inicio de un segmento unico assume cs:code,ds:code,s…
如果编写内联汇编而不是常规的 c/c++ 会快多少?代码?
我的一位资深同事通过编写内联汇编来优化一个功能(他正在实现图像过滤)。这真的有必要吗?现代编译器不会为我们做这件事吗?通常,通过将 C 代码转…
在 mips 中实现此功能的替代方法?
如何执行相同的功能,但不使用 lw 而是使用 lbu 并代替 and 一些其他命令? .text .globl __start __start: # execution starts here la $a0,st_b lw …
在dos中编写使用INT 21H的8086汇编程序
我需要编写 8086 汇编程序来执行以下操作: -从键盘读取2个数字 -显示这些数字的总和 到目前为止我得到的提示: 键盘将 ASCII 代码存储在寄存器和寄存…
在 Mac 上使用汇编
我使用的是配备 2.53 GHz Intel Core 2 Duo 处理器的 MacBook Pro,但我被告知 Mac 用户必须遵循 AT&T 语法(这让我更加困惑,因为我运行的是 Intel)…
将二进制中的 2 位数字拆分为二进制中的一位数
我有 47 个,二进制为 0010 1111。我需要拆分 47,所以我得到 4 个二进制 0000 0100 和 7 个二进制 0000 0111。 我看到 这个答案但我想知道,因为Inte…