assembly

    0热度

    1回答

    我在理解rlwinm PPC汇编指令时遇到了一些问题(旋转左边的字,然后和带有掩码)。 我试图扭转功能 rlwinm r3, r3, 0, 28, 28 我已经知道什么是r3这部分。在这种情况下,r3是一个4字节的整数,但我不确定这个指令rlwinm对它做了什么。 顺便说一下,这是一个32位的机器。

    1热度

    1回答

    下面的代码假设有显示如果哪个数字更大或者它们是否相等和总和,但我得到的只是总和,如果我删除了总和部的第一部分,其中显示的数字是否等于 section .rodata prompt1 db "Enter an integer: ",0 ; 0 is null character pro

    -1热度

    1回答

    我不知道如何输入两位数字并且实际上可以使用它(加,减,AND等)。到目前为止,我可以输入我的开始和结束数字作为字符串,并使用LEA输出字符串,但我需要它们在寄存器中,以便我们可以将它们从ASCII转换为整数并计算总和。我认为我对总和计算的逻辑很好,但我可能是错的。到目前为止,我有这个: .ORIG x3000 AND R0, R0, #0 ; clear R0

    0热度

    1回答

    我是新来的大会,我想做到以下几点: 伪代码: loop: input if(input == $) end loop else if(input < savedInput) savedInput = input ; print savedInput 基本上是恒定的循环,检测用户输入和比较如果新输入低于新输入,则保存

    0热度

    1回答

    我试着去学习汇编,首先我使用NASM的编译名称,但后来我明白,我可以在GCC使用.S文件。这让我非常感兴趣,因为我的目标是能够为自定义语言编写一个编译器,所以这非常有趣,因为它允许我使用c代码进行链接和编译。如此充满激情,我开始用gcc编译c程序集(.s文件),并对它进行了examen。正如我这样做,它接缝的结构与NASM组装不同,只有主标签,f.eks,而不是_start和其他奇怪的结构,并且我

    0热度

    2回答

    我有以下JCL编译汇编语言程序: - //JRETEST JOB (A925,22360679777),'AESANJA',NOTIFY=&SYSUID, // MSGLEVEL=(1,1) //PROCLID JCLLIB ORDER=IBMUSER,LEARN.ASMJCL // EXEC ASMACL //SYSOUT DD SYSOUT=* //C.SYSIN DD * T

    -1热度

    1回答

    好的,这里是家伙。在你之前,我有一个执行这个算法的程序: “IF X> 12 THEN X = 2 * X + 4 ELSE X = X + Y,OUTPUT X.” 问题是,我需要它来执行这个代替: “IF X> 12 THEN X = 2 * X + 4 ELSE X = X - 13,OUTPUT X.” 我该如何减去而不是添加? ORG $1000 START: LEA PROMPT,

    0热度

    1回答

    所以我想了解TBB如何在Assembly中为switch语句工作。我看到它是如何写在教科书/在线手册中的,但我不明白偏移量在分支表中如何工作。 它如何从分支表转换为指令?如何扣除标签以获得正确的偏移量,以及为什么除以2? 以我教科书它说 到的程序应该 分支如下计算该指令的存储器地址: 目标= PC + 4 +( 2 * BranchTable [R0] ) 其中r0是包含分支表内偏移量的计数器。在

    0热度

    1回答

    首先,这是一项家庭作业。 我有一个循环获得两个数字的值单独,并加入他们的第一个数字乘以10,并加上第二个数字来获得一个整数。 我正在做这一切,并保存在我的AL寄存器中,现在我想将该整数插入到一个数组中,然后扫描该数组并显示这些数字。 如何插入矢量并从矢量读取? 我的数组: section .bss array resb 200 我的数字转换: sub byte[digit_une],

    0热度

    2回答

    如何在只使用新行代码的情况下打印新行3次尽管输入了相同的代码3次 include emu8086.inc ORG 100h PRINT 'ENTER THREE INITIALS: ' MOV AH,1 INT 21H MOV BL,AL INT 21H MOV CL,AL INT 21H MOV BH,AL