Interessanter asm-Code
2006-05-13 16:08
Anonymer User
In der Newsgroup 'linux.gentoo.user.de' habe ich einen interessanten Artikel (Message-ID: <6clfa-47x-17@gated-at.bofh.it>) gefunden:
===============
hallo liste,
ich bin im moment am diplomarbeit basteln und bin dabei über folgende prozessor-anomalie gestolpert:
folgendes kleine asm-programm - siehe anhang - läut auf einen teil meiner zugänglichen rechner ohne probleme und auf einem anderen teil verhält es sich "komisch". komisch bedeutet, entweder wird das aktuelle fenster geschlossen oder der x-server gekillt oder die verbindung (ssh) getötet, oder oder oder. auf jeden fall erwartet man das nicht.
wenn man den cmp dx, 4 durch z.b. cmp dx, 8 ersetzt, dann läuft das
programm wie erwartet…
meine bitte nun: könnt ihr das bei euch mal ausproberen und dann posten, was für hardware ihr habt. danke schonmal im vorraus.
twist
ps:
auch wenn es unwahrscheinlich ist, dass eure hardware dabei verreckt kann ich keine haftung übernehmen. die cippoolkisten laufen jedenfalls noch alle :)
—
"mein" cippool - info uni wü:
20 + 14 kisten: dual p4 3.2GHz, 2G mem - gentoo unstable
20 kisten: p4 3GHz, 1G mem - gentoo unstable
+ 2 server 7 und 8g mem - quad xeon mit VIEL platte - gentoo stable
;
; intel ia32 bug??? 2006-05-13
;
; by twist@evilhome.de
;
; compile with:
;
; nasm -f elf main.asm
; ld -s -o main main.o
;
section .data
stack: times 64 dd 0
stackLen: equ $-stack
section .text
global _start
_start:
mov esp, stack + stackLen
; tut auch
; mov dx, 0
xor dx, dx
; tut
; cmp dx, 4
cmp dx, 0
; tut nicht
; cmp dx, 8
pushf
pushf
pop ax
popf
; exit
mov eax, 1
mov ebx, 0
int 80h
===============
Tatsächlich beendet dieser Code (als User ausgeführt) teilweise die Shell, das komplette X, die SSH-Verbindung. Ich finde das Verhalten sehr strange => kann dazu jemand was sagen?
(edit fal: Topictitel)
===============
hallo liste,
ich bin im moment am diplomarbeit basteln und bin dabei über folgende prozessor-anomalie gestolpert:
folgendes kleine asm-programm - siehe anhang - läut auf einen teil meiner zugänglichen rechner ohne probleme und auf einem anderen teil verhält es sich "komisch". komisch bedeutet, entweder wird das aktuelle fenster geschlossen oder der x-server gekillt oder die verbindung (ssh) getötet, oder oder oder. auf jeden fall erwartet man das nicht.
wenn man den cmp dx, 4 durch z.b. cmp dx, 8 ersetzt, dann läuft das
programm wie erwartet…
meine bitte nun: könnt ihr das bei euch mal ausproberen und dann posten, was für hardware ihr habt. danke schonmal im vorraus.
twist
ps:
auch wenn es unwahrscheinlich ist, dass eure hardware dabei verreckt kann ich keine haftung übernehmen. die cippoolkisten laufen jedenfalls noch alle :)
—
"mein" cippool - info uni wü:
20 + 14 kisten: dual p4 3.2GHz, 2G mem - gentoo unstable
20 kisten: p4 3GHz, 1G mem - gentoo unstable
+ 2 server 7 und 8g mem - quad xeon mit VIEL platte - gentoo stable
;
; intel ia32 bug??? 2006-05-13
;
; by twist@evilhome.de
;
; compile with:
;
; nasm -f elf main.asm
; ld -s -o main main.o
;
section .data
stack: times 64 dd 0
stackLen: equ $-stack
section .text
global _start
_start:
mov esp, stack + stackLen
; tut auch
; mov dx, 0
xor dx, dx
; tut
; cmp dx, 4
cmp dx, 0
; tut nicht
; cmp dx, 8
pushf
pushf
pop ax
popf
; exit
mov eax, 1
mov ebx, 0
int 80h
===============
Tatsächlich beendet dieser Code (als User ausgeführt) teilweise die Shell, das komplette X, die SSH-Verbindung. Ich finde das Verhalten sehr strange => kann dazu jemand was sagen?
(edit fal: Topictitel)