คำถามในหัวข้อ 'assembly'
การใช้ xor reg, reg ให้ข้อได้เปรียบเหนือ mov reg, 0 หรือไม่ [ทำซ้ำ]
มีสองวิธีที่รู้จักกันดีในการตั้งค่าการลงทะเบียนจำนวนเต็มให้เป็นค่าศูนย์บน x86
ทั้ง
mov reg, 0
or
xor reg, reg
มีความเห็นว่าตัวแปรที่สองจะดีกว่าเนื่องจากค่า 0 ไม่ได้ถูกเก็บไว้ในโค้ด และจะบันทึกโค้ดเครื่องที่ผลิตได้หลายไบต์...
16966 มุมมอง
schedule
30.12.2023
การโทรของระบบใน windows & Native API หรือไม่
เมื่อเร็วๆ นี้ ฉันใช้ภาษา Assembly มากมายในระบบปฏิบัติการ *NIX ฉันสงสัยเกี่ยวกับโดเมน windows
แบบแผนการเรียกใน linux:
mov $SYS_Call_NUM, %eax
mov $param1 , %ebx
mov $param2 , %ecx
int $0x80
แค่นั้นแหละ....
15759 มุมมอง
schedule
09.11.2023
การดำเนินการประกอบ ARM ใน iPhone Simulator หรือ Android Simulator เป็นไปได้หรือไม่
ใครช่วยบอกฉันหน่อยได้ไหมว่าเป็นไปได้ที่จะรันโปรแกรมโดยใช้ภาษาการประกอบแขนในเครื่องจำลองหรือไม่
1569 มุมมอง
schedule
22.11.2023
MSVC สร้างไบนารีแปลก/ช้าสำหรับการคูณและการหารบางอย่าง
ฉันใช้ MSVC 2010 SP1 และฉันมีรหัส C++ บรรทัดต่อไปนี้:
int32_t c = (int64_t(a)*int64_t(b))>>2;
เมื่อ a และ b ไม่ใช่ค่าคงที่ MSVC จะสร้างคำสั่ง 32 บิต imul และ shrd อย่างถูกต้อง แต่เมื่อ a หรือ b เป็นค่าคงที่...
815 มุมมอง
schedule
10.11.2023
การพิมพ์ BCD ที่บรรจุ (DT) - ภาษาแอสเซมบลี (TASM)
ฉันพยายามสร้างเครื่องคิดเลขอย่างง่ายในการประกอบ ฉันใช้ TASM (นโยบายของโรงเรียน) ปัญหาคือการพิมพ์ตัวเลขที่บันทึกไว้ด้วยคำสั่ง FBSTP (คำสั่งตัวประมวลผลร่วม) ในตัวแปร DT
FBSTP adr - เก็บที่อยู่ `adr' ซึ่งเป็นค่าที่อยู่ด้านบนของสแต็ก (ST (0))...
1632 มุมมอง
schedule
23.10.2023
โปรเซสเซอร์ 8 บิตและ 16 บิตจะเข้าถึง RAM ได้มากขึ้นด้วยรีจิสเตอร์สองตัวได้อย่างไร
สิ่งที่ทำให้ฉันสับสนอยู่เสมอคือคอมพิวเตอร์ 8 บิตเข้าถึง RAM มากกว่า 256 ไบต์ได้อย่างไร ฉันรู้ว่ามันต้องใช้สองรีจิสเตอร์ แต่ใครช่วยแสดงตัวอย่างให้ฉันเห็นหน่อยว่าสิ่งนี้จะเป็นอย่างไรในโค้ดแอสเซมบลี?
ชอบ:
mov a, [x] ???
2816 มุมมอง
schedule
04.11.2023
ฉันไม่เข้าใจโค้ดแอสเซมบลี gnu ต่อไปนี้สำหรับสถาปัตยกรรม powerpc
#define START_GOT \
.section ".got2","aw";\
.LCTOC1 = .+32768
.LCTOC1 เป็นคำสั่งหรือไม่ ทำไมถึงมี . ก่อน +32768 ?
257 มุมมอง
schedule
08.11.2023
MIPS: การอ่านสตริงจากอาร์กิวเมนต์บรรทัดคำสั่ง
ฉันใหม่กับสภา ฉันมีปัญหาในการอ่านสตริงจากอาร์กิวเมนต์บรรทัดคำสั่ง
ฉันต้องการอ่านสตริง thisismymessage จากอาร์กิวเมนต์ที่ 2 ลงในบัฟเฟอร์
ฉันคิดว่าจะใช้ SYSCALL แต่ไม่แน่ใจว่าจะใช้อย่างไร
$ spim -f program.s file thisismymessage
12935 มุมมอง
schedule
24.11.2023
จะทราบรูปแบบคำสั่ง MIPS R, I หรือ J ได้อย่างไร
จะทราบได้อย่างไรว่า opcode ของคำสั่ง MIPS คือ Register, Imidiate หรือ Jump รับตารางนี้จากหนังสือ แต่มีวิธีใดในการกำหนดรูปแบบของ opcode หรือไม่
3781 มุมมอง
schedule
05.12.2023
ฉันเข้าใจสแต็กหรือไม่? โปรดแก้ไขฉันด้วย
ฉันมีรหัสนี้เขียนใน c:
int main(){
double x, y;
int a, b, c;
int *p;
และฉันมี:
sizeof(int)=4
sizeof(double)=8
โครงสร้างหน่วยความจำเป็นแบบนี้หรือเปล่า? รายละเอียดเพิ่มเติมในโหมดกราฟิก:
IN MEMORY:(whole memory)
LE = Little...
122 มุมมอง
schedule
01.11.2023
จะแก้ไขเซ็กเมนต์ .code ตอนรันไทม์ได้อย่างไร
ฉันต้องการเขียนโปรแกรมที่สามารถปรับเปลี่ยนส่วนโค้ดของตัวเองได้ ตัวอย่างเช่นพิจารณารหัสแอสเซมบลีนี้:
รหัสดั้งเดิม:
i1: mov eax,0
i2: mov eax,0X01
โค้ดผลลัพธ์ที่ฉันต้องการสร้างขณะรันไทม์ด้วยโค้ดเดียวกัน:
i1: mov eax,0
i": // some...
1501 มุมมอง
schedule
17.01.2024
วิธีการตรวจสอบอันตรายของข้อมูลใน MIPS
ฉันกำลังเรียนรู้เกี่ยวกับการขึ้นต่อกันของข้อมูลและอันตรายของข้อมูลในแอสเซมบลี MIPS และฉันไม่แน่ใจเล็กน้อยว่าการขึ้นต่อกันประเภทใดที่จะทำให้เกิดอันตราย ฉันมีตัวอย่างนี้:
add $2, $1, $5
sub $7, $2, $3
lw $4, 8($7)
add $6, $4, $3
การพึ่งพา $3...
445 มุมมอง
schedule
09.12.2023
การอ่านอินพุตจากแป้นพิมพ์ด้วย x64 linux syscalls (ชุดประกอบ)
ฉันกำลังพยายามเรียนรู้วิธีใช้ linux 64bits syscall ในแอสเซมบลี
ฉันกำลังเขียนโค้ดสำหรับอ่านคีย์บอร์ดและพิมพ์บนหน้าจอเมื่อกดปุ่ม: ฉันใช้ sys_read
รหัส:
section .text
global _start
_start:
;write startmsg
mov rax, 1
mov rdi, 1
mov rsi,...
2409 มุมมอง
schedule
17.01.2024
งงกับคำสั่ง x86 MOV
จากคู่มือ Intel64 & IA-32 เล่ม 2a มีการใช้งานที่เป็นไปได้มากมายสำหรับคำสั่ง 'mov' เช่น:
mov r64, m64 # move m64 to r64
mov rax, moffs64 # move quadword at (offset) to RAX
ฉันเขียนโค้ดเพื่อทดสอบ (แก๊ส, ไวยากรณ์ของ Intel):
movabs...
1145 มุมมอง
schedule
03.01.2024
เขียนโดยตรงไปยังบัฟเฟอร์ประวัติโลก (GHB) หรือ BTB ในตัวทำนายสาขาของ ARM Cortex A8 หรือไม่
ฉันสนใจที่จะซ่อมแซมเนื้อหาของ BTB (บัฟเฟอร์เป้าหมายสาขา) และ GHB บน Cortex A8 โดยตรง คู่มือ ARM บอกว่า:
หากต้องการเขียนหนึ่งรายการในอาร์เรย์ GHB ฝั่งคำสั่ง ตัวอย่างเช่น:
LDR R0, =0x3333AAAA;
MCR p15, 0, R0, c15, c1, 0;...
329 มุมมอง
schedule
19.12.2023
Seg Fault ในการประกอบ ARM
ดังนั้นฉันจึงพยายามเรียนรู้การประกอบ ARM และโดยพื้นฐานแล้วสิ่งที่ฉันต้องการทำคือเปิดไฟ LED ของ BeagleBone Black ของฉันโดยใช้การประกอบแบบบริสุทธิ์ ฉันรู้วิธีการเขียนโปรแกรมใน C เป็นอย่างดี แต่ฉันยังใหม่กับการประกอบ ARM หากนั่นสร้างความแตกต่าง...
1077 มุมมอง
schedule
03.11.2023
การขัดจังหวะแบบ non-maskable มีลำดับความสำคัญมากกว่าคำสั่งปัจจุบันหรือไม่?
ฉันกำลังศึกษาหลักสูตร Assembly และคำถามต่อไปนี้ทำให้ฉันงง ฉันพยายามทำซ้ำในโค้ด แต่ยากที่จะจำลองสถานการณ์ในเครื่องจำลอง
ค่า 5 จะถูกเก็บไว้ที่ 0x0000100 ในเวลาเดียวกันเมื่อโปรเซสเซอร์ประเมินคำสั่ง INCB 0x0000100 การขัดจังหวะของ NMI...
171 มุมมอง
schedule
06.11.2023
ปัญหาการประกอบ TASM
1) ฉันมีโค้ด asm นี้ในไฟล์ .asm โดยพื้นฐานแล้วมันกำลังทำอะไรทำนองนี้
BEGIN
X:=2;
Y:=2+X;
Z:=Y;
IF( Z > X ) THEN
WRITELN("VALOR DE Z");
WRITELN( Z );
ELSE
WRITELN("VALOR DE X");
WRITELN( X );
END;
END programa1.
ASM ที่นี่:...
772 มุมมอง
schedule
06.01.2024
lldb ค้นหาจุดออกจากแอป
ฉันกำลังดีบั๊กแอปที่น่าจะมีมาตรการป้องกันการดีบั๊ก การตั้งค่าเบรกพอยต์และสัญญาณหยุดสำหรับการออกจากแอปไม่ได้หยุดแอปไม่ให้ออก
$ lldb App
(lldb) target create "App"
error: Invalid fde/cie next entry offset of 0x43029a18 found in cie/fde at 0x1404...
1779 มุมมอง
schedule
02.11.2023
จะสร้างเอาต์พุตแอสเซมบลีด้วย Sublime Text ได้อย่างไร
ฉันได้สร้างคำสั่ง build ที่กำหนดด้วยตนเองเมื่อรวบรวม C ไฟล์ใน Sublime Text 2 และใช้งานได้ดี
ไฟล์ output_c.sublime-build เป็นดังนี้:
{
"cmd": "gcc $file_base_name.c -g -O3 -m32 -std=c99 -fverbose-asm -fno-inline -save-temps -Wall...
744 มุมมอง
schedule
21.11.2023