Assembly MIPS程序集:如何在.data部分声明整数值?

我正试图用MIPS汇编语言使用 我现在的主要问题是如何初始化一组内存位置,以便以后可以通过汇编语言指令访问它们 例如,我想用值0x99、0x87、0x23、0x45初始化地址0x1001000-0x1000003。我认为这可以在我的汇编程序的数据声明(.data)部分完成,但我不确定语法。这可能吗 或者,在.data部分,我如何指定将整数值存储在某个内存位置(我不关心在哪里,但我只想在某个地方引用它们)。因此,我正在寻找C等价物“intx=20,y=30,z=90”;我知道如何使用MIPS指令来

Assembly 访问阵列';汇编语言(windows)中的s元素

我在汇编语言中遇到了一个问题,我无法访问数组的元素。。。假设一个数组包含星期天。。。像太阳、周一、周二、周三。。。。我必须访问数组的第二个索引。。。如何实现这一点?汇编中的索引与C/C++基本相同,只是有一个区别:您必须知道数据元素的大小 例如,要循环汇编中的字节数组(或字符串中的字符),可以执行以下操作: mov eax, 0 mov ecx, 0 loop_start: cmp ecx, ARRAY_LENGTH jge loop_end add eax, BYTE PTR

Assembly ARM子指令操作数

我正在使用llvm clang编译器,在ARMv7-A处理器上将简单的C函数编译成汇编。我试图弄清楚这条指令的作用 SUB sp, sp, #65, 30 显然,它在堆栈指针上为一些局部变量腾出了空间,但我从未见过有四个操作数的ARM子指令。我猜30在某种程度上修改了#65,但我不知道如何修改,我也无法在ARM架构参考手册中找到详细信息。有什么建议吗 出于好奇,这是创建8 x 8整数单位矩阵程序的开始,因此我希望sp需要为堆栈上至少8 x 8 x 4字节留出空间。30是65上的右转操作 向右旋

Assembly 什么';在现代个人电脑中,最准确的测量时间的方法是什么?

我知道我可以使用IRQ0,这是系统计时器,但这是基于14.31818MHz的时钟,对吗?有没有更精确的方法 谢谢 编辑:有人知道Windows函数QueryPerformanceCounter使用什么吗?英特尔处理器通常通过指令提供高精度计时器信息 它的精度远高于14MHz。需要注意的是,它可能会在多核和速度步进处理器上出现问题 编辑:有更多关于这个主题的细节 1.实际频率取决于处理器,但通常是处理器频率。显然,在Nehalem处理器上,TSC以前端总线频率(133 MHz)运行。 “精确”

Assembly 使用32位REGs存储/实现QWORD。?

假设变量I被定义为Qword,则方程I=2*I可使用以下最低指令实现: 解决方案: MOV EAX, DWORD PTR I ADD DWORD PTR I, EAX 我不明白的是 MOV EAX, DWORD PTR I+4 ADC DWORD PTR I+4, EAX X86是一种体系结构。这意味着数字首先以最低有效字节存储 例如,0x1234以0x34字节后跟0x12存储在内存中。维基百科的文章还有很多,但我会很快总结: Memory location: X X+

Assembly 有人能帮我理解这个PIC微控制器程序吗?

我是一名工科学生,对这个项目有点困惑。有人能帮我填写程序中每行的剩余注释吗?我是这个节目的新手 #INCLUDE<P16F88.INC> ; PIC definitions SET_UPPER EQU 0x20 SET_LOWER EQU 0x21 READ_UPPER EQU 0x22 READ_LOWER EQU 0x23 P_gain EQU 0x24 I_gain EQU 0x25 D_gain EQU 0x26 Prop

Assembly 为什么';MS-DOS是否初始化DS和ES寄存器?

为什么DS和ES寄存器的初始化必须由程序员手动完成 例如: MOV AX, DTSEG MOV DS, AX 另一方面,CS和SS寄存器由操作系统初始化(在MS-DOS中)。为什么会这样?因为与指向用户定义数据段的DS和ES寄存器相比,CS和SS寄存器对于程序执行是必不可少的。默认情况下,执行程序中不存在任何数据,因此不需要初始化DS和ES。作为程序编写器,您可以通过设置数据段寄存器来指定数据的位置 编辑:正如@FrankKotler正确指出的那样,在.com文件中(整个程序大小不超过单个段)

Assembly x86堆栈指针指向哪里?

例如,如果我按下ax,[SP]是否指向我的ax值或ax后面的单词?它是否与实际模式和保护模式不同?我之所以这样问,是因为《汇编艺术》一书以sp指向上次推送的数据为例进行了说明,而在本页上,它以指向上次推送数据后的空单词为例进行了说明。维基百科说: 堆栈通过隐式递减(push)和 递增(pop)堆栈指针。在16位模式下,此隐式堆栈 指针地址为SS:[SP],在32位模式下为SS:[ESP],在 64位模式,它是[RSP]堆栈指针实际上指向最后一个 在假定其大小匹配的情况下存储的值 处理器的操作模式

Assembly 将大量代码转换为IDA中的数据

不幸的是,我在一个二进制文件的一个数据部分上点击了“C”,我做了很多工作,并保存了它,因为我还有很多工作没有保存。我尝试将这个巨大的部分转换回数据,但每当我选择行并按“D”时,只有光标所在的行被转换为数据 因此,我的问题是,如何在IDA(特别是6.1)中将大量数据标记/转换为代码 (如果需要的话,目标体系结构是ARM)。您可以使用快速的Python脚本,例如输入: for a in xrange(startaddr, endaddr): MakeCode(a) 进入输出窗口的“Python”字

Assembly 用于DOS的x86程序集中的回文检查代码出错

这段代码应该检查字符串是否为palindome 但对于任何字符串,它都会打印“是”。我如何解决这个问题 我认为错误在某些跳转指令中 错误是什么 include inout.asm .model small,c .stack 200h .data pal db "rear" ;pal db 200 dup("mohammad") pal_len equ $ - pal - 1 szYes db "yes$" szNo

Assembly 如何使用rop(面向返回的编程)打印寄存器值?

我有一个任务,要构建rop代码,它调用printf,值在edx寄存器中 我卡住了。我知道printf函数的地址,我有一个查找小工具的工具 我正在尝试构建一个类似以下内容的堆栈: someROPCode、printf_地址、ret_地址、写EDX_值的RopCode(printf参数) 我尝试了:someROPCode=addesp0xc,ret(跳过printffunc,这样我就可以在堆栈上写入edx值) ROPCodethattwrite_EDX_Value=我考虑过这样的事情:push ea

Assembly 将十六进制读入字符串

我不擅长在汇编中编写代码,我只需要在汇编中编写这个,不管怎样,这就是我正在尝试做的。(我正在使用Masm32) 正如您所看到的,每个字符或字节用空字节分隔,它只能显示一个字节,“1”而不是“123” 如果我能连接每个可读字节,直到它到达字符串的末尾就好了 mov ebx, offset Msg mov ecx, ebx add ebx, 2 invoke lstrcat, ebx, ecx 可能还会添加一个循环,我只是不知道更好的编码方法,或者您是否有更好的解决方案可以共享。为了处理字符串,您

Assembly MASM x86汇编中的32位加法和减法

我正试图写一个程序,对两个32位的数字进行加法和减法,并将和和和差存储在内存中。我没有任何输出,只是通过调试器获得结果 这是我的密码 ;---------------------------------------------------------; ;********************************************************** STACK SEGMENT PARA STACK 'STACK' DB 64 DUP('STACK')

Assembly X86程序集将小写转换为大写

实现转换字符串中小写字母的toUpper函数 大写。该函数接受一个参数:char*string。字符串是一个 char类型指针,指向字符串的开头。因为C- 样式字符串以零结尾,我们不需要取 字符串作为另一个参数 我需要帮助开始,我不知道我在做什么 void toUpperchar*字符串{ __asm{ 推送EAX 推EBX 推ECX 推式EDX 推动ESI 推式电子数据交换 MOV EBX,字符串 /*您的代码从这一行开始*/ /*您的代码结束于此行上方*/ 流行电子数据交换 波普ESI 波普

Assembly 标签指令如何没有为其自身分配存储?

在kip irvine的《汇编语言》一书中,他谈到了标签指令,并说了以下声明 在下面的示例中,我们声明 val32前面的一个标签命名为val16,并为其提供一个WORD属性: .data val16 LABEL WORD val32 DWORD 12345678h .code mov ax,val16 ; AX = 5678h mov dx,[val16+2] ; DX = 1234h val16是与val32相同的存储位置的别名。LABEL指令本身不分配存储。 我的问题是val16怎么能

Assembly 如何确定MIPS中的数据危害

我正在学习MIPS assembly中的数据依赖关系和数据危害,我有点不确定哪些类型的依赖关系会导致危害。我举了一个例子: add $2, $1, $5 sub $7, $2, $3 lw $4, 8($7) add $6, $4, $3 3美元的依赖不应该造成危险,对吗? 7美元的依赖关系是通过转发来解决的,还是需要暂停?是的,不需要,这很简单,只要尝试一下,你就会明白= PS:我的答案适用于常规的5阶段管道,因为你说你是初学者,那么我假设这就是你的意思你的MIPS管道是什么?

Assembly dup(?)在塔斯姆语中是什么意思?

我这里有这段代码,但我不熟悉语法 STACK16_SIZE = 100h stack16 db STACK16_SIZE dup (?) 我认为dup意味着我们声明了一个数组类型的变量,因为这是一个堆栈,但我不确定。那么,在TASM中,dup到底意味着什么呢?STACK16_SIZE dup(?)意味着将括号中的数据复制STACK16_SIZE倍。它相当于写?,,,,,,,,。。。(100小时次) parens中的数据为“未初始化数据”。也就是说,内

Assembly fidiv:除以寄存器时操作数类型错误

以下面的代码为例: void calculate(int int_number) { __asm { fld1 mov eax, 5 fidiv eax ; A } } 如果我试图编译它,A行将失败,出现错误C2415:操作数类型不正确。如果我用整数常量替换eax,同样的问题也会发生。但是,如果我将int_number作为fidiv参数传递: void calculate(int int_number) { __as

Assembly 更改目录DOS8086汇编语言

我正在开发一个程序,它使用8086汇编中的目录 我正在搜索一个代码来更改目录,就像终端上的“cd”命令一样 如果要更改emu8086.exe文件路径(假设已将当前exe文件从d:drive更改为c:drive),请在cmd上使用以下命令 setx路径“%path”;c:\emu8086 但是您必须删除旧路径这有帮助吗?是的,非常感谢。我已经解决了这个问题。

Assembly ROR打开溢出标志

我在汇编emu8086 emulator中有以下几行代码: mov al,00100000b ror al,8 当al等于0000 0001时,两个标志进位和溢出被关闭, 但是当al等于1000 0000时,这两个标志被打开 进位标志正常-最后一个数字1在标志中,但为什么此操作也会打开溢出标志 谢谢你的帮助 来自 OF标志仅为1位旋转定义;在所有其他情况下(RCL和RCR指令除外)未定义 仅限:零位旋转不起任何作用,即不影响任何标志)。对于左旋转,OF标志设置为异或 CF位(旋转后)和

Assembly 如何使用GNU GAS中的字符文字来替换数字?

例如,我想写一些类似于'a'的东西,而不是像在C中那样写0x61 手册在中提到了它们:但是没有一个例子,我不确定我是否理解 /* Immediate. Without the `$`, does a memory access, and segfaults! */ mov $'a, %al /* al == 0x61 */ /* Memory. */ mov c, %al /* al == 0x62 */ c: .byte 'b /* Space character works. */ m

Assembly 如何在ARM组件中使用位移位在寄存器之间进行复制?

我无法同时找出bitshift和ldr的正确语法…以下是我一直在尝试的内容 ldr r4, r1, lsr #1 我想把r1除以2,然后以一个快速的运动将它存储在r4中。然而,gcc在指令后面说垃圾。mov是用于将一个寄存器移动到另一个寄存器的合适指令,而不是ldr ARM模式下的语法为: mov r4, r1, lsr#1 在拇指模式下,您可以执行以下操作(如果正在使用,也可以在手臂模式下工作): ARM是一种具有单个ld/st单元的加载/存储体系结构。除了地址的自动inc/dec,您不能

Assembly 中银国际;“超限阅读”;

我正在尝试在Bochs中启动自定义内核。然而,当我尝试运行它时,Bochs会在几秒钟内生成数十万条到终端的输出线。它们都包含相同的消息: 00017895741e[CPU0 ] read_virtual_checks(): read beyond limit 我正在使用由dd if=/dev/disk3s1 of=Boot.img创建的映像,其中disk3s1是Mac的DMG安装驱动程序使用的原始设备。(此图像在QEMU下引导正常,但由于我的内核和QEMU之间不兼容,我现在必须使用Bochs

Assembly 使用ARM NEON将8位图像的大小调整为6x6

我正在尝试调整(减少)一个8位灰色图像的大小,调整系数为36=6x6。我想使用ARM霓虹灯说明。我的代码如下所示: //I deinterlace 3 8-pixel on the first line (named line0) and //I add them. So I have resized horizontally by a factor 3 //Line 0 vld3.u8 {d0, d1, d2}, [line0]! vaddl.u8 q3, d0, d1 vaddw.u8 q3

Assembly 使用for循环构造,查找大于20的8位整数数组中的元素总数

(查找大于20的8位整数数组中的元素总数,使用for-loop-looping构造)我正在用汇编语言编写代码,不知道如何完成家庭作业。我有一个基本的大纲,只是不知道如何为这个设置floop。(avr组件) 计数器: .equ as=10 .def loopcount=r16 .def计数=r17 .cseg .org 0x00 jmp启动 .org 0xF6 开始: ldi ZL,low(array一个好主意是首先用高级语言写出循环,然后将其转换为asm。我喜欢使用伪代码,有些人编写一些实际编译

Assembly 如何换行并在换行中打印相同字符

我在学组装。我在用背景色(黄色)打印“Hello World!(红色文本)”时看到了这个示例 我设法编辑代码,通过反复试验,只打印黄色背景的空格。但是我不能打印新的行。如果我添加一个新的mov[200],''例如(不知道这是否正确),它会在不同的行上添加一个字符,但颜色不同。。如果我在逗号后添加00010001b,则if打印的颜色应为蓝色 有人能给我一个关于这段代码的入门教程吗。我现在只想再打印一行。。这是到目前为止的工作代码。。它打印出一整行黄色 name "hi-world" ; hex

Assembly AX-in从单词数组中获取奇怪的数字

我试图将两个数组细分以创建第三个数组,但当我尝试将它们细分时,AX寄存器得到的值与原始值完全不同。 在第一小节中,正如您所看到的,我试图将数字2082(822h)移动到AX,但在TD中,它显示AX得到了类似32849(8052h)的值。怎么了???谢谢 .MODEL SMALL .STACK 100h .DATA ARR1 DW 333,20989,3456,2082 ARR2 DW 333,15,5436,2082 ARR3 DW ? ANSWER DB 'The last dig

Assembly 符号位移位

我正在尝试将十六进制转换为十进制,同时移动并保留符号。让我的'simm'变量正确反汇编签名指令时出现问题 void disassembleInstr(uint32_t pc, uint32_t instr) { uint32_t opcode; // opcode field uint32_t rs, rt, rd; // register specifiers uint32_t shamt; // shift amount (R-type)

Assembly &引用;addq";最大32位有符号整数溢出

我正在尝试为计算器编写一个简单的编译器。然而,我的所有汇编指令(加法、减法和乘法)在2147483647和2147483647处不断溢出和下溢−分别为2147483648,而不是最大64位有符号值。我不明白为什么会发生这种情况,这真的很令人沮丧,所以任何帮助都将不胜感激!以下是在这种情况下生成的汇编代码: .globl compute compute: movq $2147483646, %rcx pushq %rcx movq $2147483646, %rcx pushq %rc

Assembly 为什么我的ARM汇编计算器程序中出现Seg故障?

我正在用Raspian OS上的ARM编写计算器程序;它是一个简单的计算器,使用反向波兰符号,只使用整数,只有4个运算(加法+,次-,乘法*,最大M)。代码还应作为连续循环运行 这是到目前为止我的代码,我可以输入值,但之后我得到一个seg故障 .global main .func main main: BL _scanf MOV R1, R0 BL _getchar MOV R3, R0 BL _scanf MOV R2, R0

Assembly 理解快速调用堆栈框架

我将我的一个算法移植到ml64的汇编中,一半用于运动,一半用于查看我能实际获得多少性能 无论如何,据我所知,目前我正在尝试了解堆栈帧设置,在本例中: push rbp ; inherited, base pointer of caller, pushed on stack for storage mov rbp, rsp ; inherited, base pointer of the callee, moved to rbp for use as base pointer

Assembly 处理器8086汇编规则和限制

我有一些关于8086汇编语言编码的问题 你能为每一个算术和逻辑运算(加法、减法、移位运算…)使用所有的通用功能吗 你们能给寄存器分配常数吗(mov ax,1;mov bx,5…) 您能否以所有可能的组合(mov ax、ss、mov es、bp、mov bp、cx、mov si、di…)将一个寄存器分配给另一个寄存器 如果任何问题的答案都是否定的,那么限制是什么? 某些说明适用于某些寄存器@Wayne Conrad 说。例如,div指令(div arg)仅将AX或DX:AX用于 股息、AH或DX用

Assembly 我是否应该使用“;mul";或;“伊穆尔”;将有符号数乘以无符号数时?

我发现mul和imul都可以用来将有符号数乘以无符号数 例如: global _start section .data byteVariable DB -5 section .text _start: mov al, 2 imul BYTE [byteVariable] 您可以将imul替换为mul,结果仍然相同(-10) mul和imul在将有符号的数字乘以无符号的数字时是否完全相同,或者它们之间是否存在差异?如注释中所述,上半部分是不同的。如果不关心上半部分,可以在所有形式中

Assembly 为什么逻辑左移&;或组件中的某些值

我目前正在大学学习组装,最近开始编写组装程序,在32x32 LED模拟器上点亮LED 本周我们有一个实验室,第一个问题是“创建一个程序,点亮一个随机的单个LED,并一直持续到所有LED都点亮”。我有一个朋友告诉我他们是怎么做的,但我仍然不知道有些选项是如何工作的。 代码如下: .data x DWORD 0 y DWORD 0 row DWORD 0 row_copy DWORD 00000001h .code

Assembly jnz如何在MSP430汇编中工作?

我正在运行以下代码: 448a: bf90 263e 0000 cmp #0x3e26, 0x0(r15) 4490: 0d20 jnz $+0x1c r15值为: r15 = 439c 而内存看起来像: 4390: 6045 0200 9c43 6400 8844 5044 3e26 0000 请注意,在内存位置439c和439d分别存储值3e和26。因此,我希望在执行命令448a后激活Zero标志,但这不会发生 所以我的问题是,为什么在比较两个相等的

Assembly 程序集yasm x64将存储字符串与用户输入字符串进行比较

我需要在x64汇编中构建一个计算器程序,其中用户输入两个数字,然后程序向用户请求运算符(+、-、*、/)。我试图将输入与存储的变量进行比较,以便将输入与这些变量进行比较,并执行用户指定的操作 在gdb中运行程序时,我看到如果我为运算符和变量:加法打印/c(当我将运算符设置为+),它们都存储相同的值,但在cmp中,它不会跳转到相应的代码块 我的代码有点像这样 segment .data mult db "*" divide db "/" addition db "+" subtra

Assembly 我可以链接除特定符号以外的库吗?

条件1。我有myassembly.s但没有main 条件2。相反,myassembly.s具有全局符号\u start 条件3。我想链接\u IO\u stdin\u使用输出二进制文件 …这里是有问题的部分。 \u IO\u stdin\u used在crt1.o上断言,如您所见: 问题。我可以在没有的情况下链接crt1.o吗? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … 我更具体地附上我的情况,因

Assembly 指令FYL2XP1

我想知道为什么x86体系结构上的指令FYL2XP1精确计算数学公式y·log2(x+1) 这个公式有什么特别之处?操作数y通常是一个编译时常数,暂时忘掉x+1 由于log_b(x)=log_b(2)*log_2(x)该指令允许计算x+1任意基数的对数 请注意,log_b(2)是一个常数,因为很少需要计算底部有自由度的对数 FYL2XP1和FYL2X是计算对数的唯一两条x87指令。 如果对数是一个代数函数,一条指令就足够了,但由于它是超越的,英特尔给出了两个版本 FYL2X适用于对数的全域,但它在

Assembly IAR Embedded workbench非法操作码错误

我写这段代码,目的是返回1)SP寄存器未初始化,因此您正在将内存推到0x0000,这取决于您的MCU可以是任何内容。这也会把电话和ret弄得一团糟 2) 您的代码以堆栈段结尾,因为RSEG CSTACK位于RSEG代码之后和代码之前 改变 RSEG CODE ; ORG 0x3100 - place program in 'CODE' segment in to Flash memory RSEG CSTACK Main 到 假设

Assembly 是否有一个大会ISA需要学习?如果没有,我应该学哪一个?

我在大学里学过8086英特尔处理器的汇编编程。我现在正试图修改它 我听说汽车嵌入式系统需要装配,所以我想知道哪种学习方法最好?我不需要浪费时间,因为我想找份工作 修改8086的装配真的有帮助吗?或者移动到32位x86汇编之类的组件更好 谢谢。你的标题提出的问题与正文完全不同。一般来说,你应该问一个简单的问题 不,没有通用的汇编语法-或者实际上有,但你可能不是说,汇编语法通常是: 或类似的 对于x86,实际上有两种常见的语法——Intel和AT&T,它们具有来自不同汇编程序的多种Intel语法变体

Assembly 如何为6502CPU(C64)建立CMake交叉装配工具链?

我正在尝试为Commodore 64/6502交叉汇编程序建立一个尽可能可重用的cmake构建系统,名为 我的问题是: 我如何让CMake[尝试]检测并设置tmpx或tmpx.exe可执行文件和正确路径,具体位置取决于主机平台? 如果可能的话,下面列出的/cmake/模块中有哪些是这样的搜索/查找模块 是否有办法让cmake.检测并列出TMPX版本,而不是显示: --ASM\U TMPX编译器标识未知 除此之外,我们非常感谢其他建议 (以下是我的个人资料和以下文件) My/CMakeL

Assembly endbr64指令实际上做什么?

我一直试图理解GCC生成的汇编语言代码,在许多函数(包括_start())的开头经常遇到这条指令,但找不到任何解释其用途的指南 31-0000000000001040 <_start>: 32: 1040: f3 0f 1e fa endbr64 33- 1044: 31 ed xor ebp,ebp 31-0000000000001040: 32:1040:f3 0f 1e fa endb

Assembly 有没有办法用xor翻转32位浮点的符号位?

我试图翻转xmm0内部最低有效浮点的符号位。我尝试将-0转换为另一个xmm寄存器,并用xmm0对其进行异或。不幸的是,虽然我的浮点值消失了,但我已经实现了翻转符号。有没有办法在asm中使用xorps来翻转符号位?我也看到过一些关于如何做到这一点的帖子,但都是用c写的 # xmm0 contains 4 floats # goal is to flip the sign of the least significant one mov eax, -0 cvtsi2ss xmm1, eax xorp

Assembly 汇编语言指示灯开/关

我正在尝试设计一个程序,使车载LED每秒闪烁一次。因此,FPGA板上的所有LED亮起1秒,然后熄灭1秒。我被建议使用间隔定时器或中断服务程序来测量一秒钟的周期 DE-10纳米 我提出了这个解决方案,但不起作用。我不是要你做我的家庭作业,只是想得到一些建议/提示 提前谢谢 以下是我目前的代码: .include "address_map_arm.s" .text /* executable code follows */ .global _sta

Assembly x86 32位汇编中的BrainF*ck解释器

我开始在32位x86汇编中为我的操作系统编写BrainF*ck解释器。我已经用C编写了一个可以正常工作的程序,并尝试在汇编中实现它,但在汇编中编写的程序不会打印任何输出 我对组装还是新手,所以我想我只是犯了一些初学者的错误。我唯一能想到的是我把地址弄错了。 如果有人能指出我做错了什么,我会非常高兴 我用相同的输入测试了C和汇编程序: -[->+-.+[->++.[->++.->+.->++-.+++. 它应该打印RexOS 我为我的C代码创建了一个粘贴库,如果这有助于理解我试图实现的目标: 我

Assembly 如何显示存储在DX:AX中的32位DIV结果

我写这段代码是为了在计算后显示当前值。但是程序给出了错误的输出,当它应该给出十进制10的结果时,它给出了13107的结果,我找不到原因。在此之前,我所做的基本上是从用户那里获取输入,并将这些值存储在si寄存器中 islem: MOV AX,[SI+14] MOV BX,[SI+10] MOV CX,[SI+2] SUB AX,BX SUB AX,CX MOV BX,[SI+8] MOV [SI+16],AX MOV DX,00H M

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 482 页