Hi all,

I have written a code in assembly, assembler used is NASM. The code worked with XP 100% correctly but it is not working with Vista. Please tell me how to make it work on Vista too.

In XP and VISTA both, I went to Start > Run > CMD. There I assembled the code using NASM and then ran it. It worked fine with XP but not working with VISTA. Even no error given by VISTA on CMD.


The code displays a table of size 5 by 5. Thats it.

Thanks in advance.

Can you post the code?
Were both computers using the same cpu architecture?

Was this the same computer, such as a dual boot?
As sysop_fb said, "Is it the same machine-arch?"

The XP was running on 32 bit processor. Vista is running on 64 bit processor. Vista itself is 32 bit. Another 32 bit machine having XP is running the code..

All the same, until you post the code, expect waffle, or nothing.

Following is a simple code which prints * on the Command Prompt Screen. This worked on XP, not working on Vista.

[ORG 0x100]

MOV AX, B800
MOV DI, 0
MOV ES, AX
MOV BL, 0x2A
MOB BH, 0x07

MOV WORD [ES:DI], BX            ;Prints Asterisk on screen

MOV AX, 0x4C00
INT 0x21

Is that the tolling of the bell marking the end of DOS support I hear ringing?

About time if it is.

It is
MOV AX, 0xB800

instead of
MOV AX, B800

Is that the tolling of the bell marking the end of DOS support I hear ringing?

About time if it is.

Nope, you know you can still run real-mode segmented .COM purely DOS programs from the vista cmd shell?
I'm so glad they made it backwards compatible because now instead of using my gui IDE for lisp and for ocaml which crashes every 3 instructions entered because it and vista are having a boxing match. I can run the old ones from the cmd shell though and they run smooth! Yay!