คำถามในหัวข้อ '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 มุมมอง

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 มุมมอง

ฉันไม่เข้าใจโค้ดแอสเซมบลี 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 มุมมอง

จะทราบรูปแบบคำสั่ง 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