Skip to contentSkip to conversation

how_shifting_bit

DISCUSSION ssams 2 participants 2 messages Sep 16, 2002

lore
Share & tools
lore

ssams

author
#0 lore raw

/* i am trying building some code with instruction 'shl' i have a little problem when print second char. this is my code
want somebody correct it...?
regard */
.data
msg: .byte 0b111111 #char'?'
baris_baru: .byte 10
.text
.globl _start
_start:
mov $4, %eax /* fungsi syscall - write */
mov $1, %ebx /* file handler forstdout */

	mov $1, %edx	
	mov $msg, %ecx	
	int $0x80	/* do syscall */
	
	mov $msg,%eax
	mov $1,%cl
	shl %cl,%eax	#eax=111 1110 = '~'
	movzwl %ax,%ecx
	mov $4, %eax	/* fungsi syscall - write */
	int $0x80

/* after char '?' i want print '~'. No output generated what and where it wrong..?*/

	mov $baris_baru,%ecx
	mov $4, %eax	/* fungsi syscall - write */
	int $0x80
	
	mov $1,%eax
	int $0x80

can anybody explain me please..?
regard.
indonesian
=========================================================================
Khusus Pelanggan Telepon DIVRE 2, Tekan 166 untuk mendengarkan pesan Anda.
=========================================================================

#1 lore raw
Quoted 12 lines · ssams

/* i am trying building some code with instruction 'shl' i have a little problem when print second char. this is my code
want somebody correct it...?
regard */
.data
msg: .byte 0b111111 #char'?'
baris_baru: .byte 10
.text
.globl _start
_start:

Quoted 10 lines
        mov $4, %eax    /* fungsi syscall - write */
        mov $1, %ebx    /* file handler forstdout */
        mov $1, %edx
        mov $msg, %ecx
        int $0x80       /* do syscall */

        mov $msg,%eax
        mov $1,%cl
        shl %cl,%eax    #eax=111 1110 = '~'
        movzwl %ax,%ecx

xchg this two lines with:

shl %cl,(%eax)
mov %eax,%ecx

Quoted 13 lines

mov $4, %eax /* fungsi syscall - write */
int $0x80
/* after char '?' i want print '~'. No output generated what and where it wrong..?*/

        mov $baris_baru,%ecx
        mov $4, %eax    /* fungsi syscall - write */
        int $0x80

        mov $1,%eax
        int $0x80

can anybody explain me please..?
regard.

Signature · 1 line
Maciej Hrebien