«assembly» etiketlenmiş sorular

Montaj dili (asm) programlama soruları. Ayrıca, kullandığınız işlemci ve / veya talimat setinin yanı sıra montajcı ile ETİKET ETMEYİNİZDEN EMİN OLUN. UYARI: .NET derlemeleri için bunun yerine [.net-assembly] etiketini kullanın. Java ASM için, [java-bytecode-asm] etiketini kullanın.

1
ARM yongalarında neden Javascript adında (FJCVTZS) bir talimat var?
FJCVTZS , "Kayan noktalı Javascript İmzalı sabit noktaya dönüştürülür, Sıfıra doğru yuvarlanır". Arm v8.3-A yongalarında ve sonrasında desteklenmektedir. Garip, çünkü JavaScript'i çıplak metale bu kadar yakın görmeyi beklemiyorsunuz. Talimatın ne yaptığına dair açıklamalar bulabilirim ama neden var olduğunu bulamıyorum. Bu iş parçacığı , "tek bir talimat olarak var olduğunu çünkü …
137 javascript  assembly  arm 

3
Bir işlevden yapı döndürürken olası GCC hatası
O'Neill'in PCG PRNG'sini uygularken GCC'de bir hata bulduğuma inanıyorum. ( Godbolt'un Derleyici Gezgini'nde başlangıç ​​kodu ) Çarparak sonra oldstategöre MULTIPLIER(RDI saklanan sonuç), GCC ile bu sonucu eklemez INCREMENTmovabs'ing, INCREMENTdaha sonra rand32_ret.state dönüş değeri olarak kullanılan alır, bunun yerine, RDX'e Minimum tekrarlanabilir örnek ( Derleyici Gezgini ): #include <stdint.h> struct retstruct …
133 c  gcc  assembly  x86-64  compiler-bug 


15
Bir C dizisinde bir değer olup olmadığını hızlıca bulun.
256 boyutlu (tercihen 1024, ancak minimum 256) bir dizi boyunca yineleme yapması ve bir değerin dizi içeriğiyle eşleşip eşleşmediğini kontrol etmesi gereken zaman açısından kritik bir ISR'ye sahip gömülü bir uygulamam var. A booldoğru olarak ayarlanacak ise durum budur. Mikrodenetleyici bir NXP LPC4357, ARM Cortex M4 çekirdeğidir ve derleyici GCC'dir. …

3
X86'daki "geçici olmayan" bellek erişimlerinin anlamı nedir
Bu biraz düşük seviyeli bir sorudur. X86 montajında ​​iki SSE talimatı vardır: MOVDQA xmmi, m128 ve MOVNTDQA xmmi, m128 IA-32 Yazılım Geliştirici Kılavuzu , MOVNTDQA'daki NT'nin Geçici Olmayan anlamına geldiğini ve aksi takdirde MOVDQA ile aynı olduğunu söyler. Sorum şu, Zamansal Olmayan ne anlama geliyor?
123 x86  sse  assembly 



5
ESI ve EDI kayıtlarının amacı?
Assembler'da EDI & ESI kayıtlarının asıl amacı ve kullanımı nedir? Bir şey için dizi işlemleri için kullanıldığını biliyorum. Birisi de bir örnek verebilir mi?
119 assembly  x86 

3
32-bit yazmaçlar üzerindeki x86-64 talimatları, tam 64-bit yazmaçların üst kısmını neden sıfırlıyor?
In Intel Kılavuzları X86-64 Tour , okuduğum Belki de en şaşırtıcı gerçek, gibi bir komutun MOV EAX, EBXotomatik olarak üst 32 bitlik RAXyazmacı sıfırlamasıdır . Aynı kaynakta alıntılanan Intel belgeleri (3.4.1.1 Kılavuz Temel Mimaride 64-Bit Modunda Genel Amaçlı Kayıtlar) bize şunları söyler: 64 bitlik işlenenler, hedef genel amaçlı kayıtta 64 …

8
eax'a karşı "test" eax?
Bazı meclisleri anlamaya çalışıyorum. Montaj aşağıdaki gibi, testlsatırla ilgileniyorum : 000319df 8b4508 movl 0x08(%ebp), %eax 000319e2 8b4004 movl 0x04(%eax), %eax 000319e5 85c0 testl %eax, %eax 000319e7 7407 je 0x000319f0 Ben o noktayı anlamaya çalışıyorum testlarasında %eaxve %eax? Bu kodun ayrıntılarının önemli olmadığını düşünüyorum, sadece testi kendi başına anlamaya çalışıyorum - …

4
Gnu Assembler'daki (GAS) CFI direktifleri ne için kullanılır?
Görünüşe göre her satırdan sonra bir .CFI yönergesi var ve ayrıca bunların geniş çeşitlilikleri var .cfi_startproc, .cfi_endprocvb. Burada daha fazlası . .file "temp.c" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 movq %rsp, %rbp .cfi_offset 6, -16 .cfi_def_cfa_register 6 movl $0, %eax leave ret .cfi_endproc …
118 assembly  gas 

9
Visual C ++ kullanarak kodun arkasındaki derlemeyi nasıl görüntüleyebilirim?
İki satır kodun verimliliğiyle ilgili başka bir soru okuyordum ve OP, kodun arkasındaki montaja baktığını ve her iki satırın da montajda aynı olduğunu söyledi. Özet bir yana, bir program derlendiğinde oluşturulan montaj kodunu nasıl görebilirim. Microsoft'un Visual C ++ 'sını kullanıyorum, ancak Visual Basic'te yazılmış kodun arkasındaki derlemeyi görüntülemenin mümkün …

20
Eski bir masaüstü bilgisayarda nasıl küçük bir işletim sistemi kurabilirim? [kapalı]
Kapalı . Bu soruya daha çok odaklanılması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Soruyu yalnızca bu gönderiyi düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 4 yıl önce kapalı . Bu soruyu geliştirin Bir işletim sistemi yazmanın dayanılmaz derecede karmaşık olduğunu bildiğim için bu …

6
SSE skaler sqrt (x) neden rsqrt (x) * x'ten daha yavaş?
Intel Core Duo'da bazı temel matematiğimizin profilini çıkarıyorum ve karekök için çeşitli yaklaşımlara bakarken tuhaf bir şey fark ettim: SSE skaler işlemlerini kullanarak, karşılıklı bir karekök alıp çarpmak daha hızlı sqrt'yi elde etmek için, yerel sqrt opcode kullanmaktan çok! Şunun gibi bir döngü ile test ediyorum: inline float TestSqrtFunction( float …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.