What is an ideal Windows 98 laptop? - Assembly Coding

Discussion in 'Off Topic Discussion' started by ma777, Oct 1, 2015.

  1. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    For my programming class this semester we are learning about Intel Microprocessors and Assembly Language. When we are in lab we use Virtual Machine to code. I have VM installed on my laptop and it has been nothing but trouble. I thought I had an old laptop at home but can't seem to find it. I figure I ought to be able to get something top of the line from back in the day for under $40. Does any one have any recommendations?
    So far I know that my RAM is limited to 512MB. Other than that I'm clueless.

    TIA
     
  2. mairsil

    mairsil Officer at Arms

    Joined:
    Apr 20, 2005
    Messages:
    3,425
    Likes Received:
    153
    Yes: don't. You would be well served to figure out why your VM is having problems, especially if your class VM works fine, but your home VM doesn't. I deal with a lot of programmers who need to use virtual machines for all sorts of problems and flounder around trying to avoid it at all costs.
     
  3. rso

    rso Gone. See y'all elsewhere, maybe.

    Joined:
    Mar 26, 2010
    Messages:
    2,190
    Likes Received:
    447
    Agreed, don't. Virtualization gives you possibilities you'd never get on a physical machine wrt low-level stuff, maybe later on you'll need them...

    Sounds like it might be a VMware Player (free but restricted) vs commercial VMware issue, or your hardware not having virtualization extensions that your lab machines have. Or you're using a different version (as in, earlier/later release) of the virtualization software. Or your CPU is too different from the lab's (unless you're using sth like Bochs, the CPU is basically "passed through" into the VM so hardware differences do show in there).
     
  4. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    I think what I use on campus is VMware Player. The machines in the engineering lab run Linux, have 8 cores ,and dual screens. It's a real pain to use VM on a laptop, which is the only thing I have down at school. If I had my desktop down here with dual monitors, I would be all for VM.
    I just thought that starting with a clean install/work space would give me the smoothest experience. Can you explain further why that's not true? I really do want to have two laptops, so I can keep everything compartmentalized. e.g. Do research on my normal laptop and test on the WIN98 laptop.

    The computers in the lab do run fairly well. Although, they crash and can be a bit choppy at times. I could live with a similar setup on my normal laptop. But, that still doesn't solve the problem of me being picky and wanting dual monitors. We really aren't doing anything complex in the class.
    1. Write a code.asm file in notepad
    2. Run MS-DOS
    3. Run turbo assembler
    4. Run tlink
    5. test

    If the verdict is still that I should set up a proper virtual machine I will take your advice. What would be the best program to use?
    Specs:
    Intel i5-2450M @ 2.5GHz
    8 GB RAM
    Win 7 64-Bit

    Thanks
     
  5. Muramasa

    Muramasa Rising Member

    Joined:
    Aug 9, 2014
    Messages:
    60
    Likes Received:
    33
    I think the biggest recommendation is that learning the Virtual machine software is worth the time and effort. I like Virtualbox a lot mostly because it's free and has all the features. (well most of them it seems) I think the only time you really need a machine is if you need access to some hardware. (Old ISA or PCI card)
     
  6. rso

    rso Gone. See y'all elsewhere, maybe.

    Joined:
    Mar 26, 2010
    Messages:
    2,190
    Likes Received:
    447
    Overall you don't give us all that much info to go on... Doesn't sound like you're doing any advanced stuff (not even single stepping and/or examining regs), no idea why your lab chose W98 for that... If you really want to start from scratch I guess pretty much anything will do, even DOSBox (unless that DOS is just to bootstrap into your own OS). Pragmatically, you would use what your lab uses, and make a copy of their VM.

    Personally I'd go with Bochs for the really low level stuff (debugging bare metal shit), QEMU for general use (playing around with random OSes, or stuff that doesn't work in DOSBox) and DOSBox for when I know I'm only gonna run DOS code, but that's just me.
     
  7. ASSEMblergames_Admin

    ASSEMblergames_Admin Administrator

    Joined:
    May 20, 2015
    Messages:
    357
    Likes Received:
    88
    I wouldn't go to any school that uses win98
     
    lolzvid and -=FamilyGuy=- like this.
  8. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    If you want to use real DOS anyway, then you don't actually need Windows 98. You just need to make a bootable USB disk that boots DOS. It'll work on any machine that supports booting from a USB disk.

    There are also USB drivers for DOS - so you can also access filesfrom USB disks.
     
  9. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    I'm going to continue using Oracle Virtual Box until I figure out the other mentioned programs. I have set "Clip Board and Drag N Drop" to bi-directional but I still cant transfer files between the two systems. I think It has something to do with the "Guest Editions CD"?
     
  10. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    That settign is for text IIRC, you need to create a network share to tranfer files easily.
     
  11. rso

    rso Gone. See y'all elsewhere, maybe.

    Joined:
    Mar 26, 2010
    Messages:
    2,190
    Likes Received:
    447
    No, the "clipboard dnd" is indeed for clipboard contents, not files. I'm thinking that VB's guest extensions don't support win9x, perhaps...?
     
  12. Muramasa

    Muramasa Rising Member

    Joined:
    Aug 9, 2014
    Messages:
    60
    Likes Received:
    33
    I've found the easiest way to get files into win9x is to setup an FTP on the host machine.
     
  13. Eviltaco64

    Eviltaco64 or your money back

    Joined:
    Jul 16, 2008
    Messages:
    1,027
    Likes Received:
    136
    Do you want an old laptop for any additional reasons? A Thinkpad T21 should work pretty well for the specs listed.

    If it's just for this class, you really don't need to buy anything.. Might as well save that money you were going to spend and put it towards future loan payments or books for next semester.
     
  14. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    I found a great program that does exactly what I need "GUI Turbo Assembler x64". Compile, link, load, and Execute with one click. Hopefully I can continue to use it for the remainder of the semester.
     
  15. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    Uhhh, as time passes this statement gets more and more convincing. I can't even find any good videos that only use 16 bit registers and TASM. The best thing I found was using 32 bit and NASM. The further I got into them, it just made it more complicated to translate everything. I don't understand, Windows 98 is 16/32 bit. So I can use 32 bit registers like EAX but I can't use the 32 bit instruction set? For homework we have to design a calculator program that parses the input. I have everything working correctly but the parsing and I can't figure it out. The way it is supposed to be done is, Enter an algebraic Expression: 5 + 5. The way I'm doing it uses 3 prompts.
    Enter num1: 5
    Enter num2: 5
    What operation to Preform?: +

    Any help would be appreciated.
     
    Last edited: Nov 8, 2015
  16. rso

    rso Gone. See y'all elsewhere, maybe.

    Joined:
    Mar 26, 2010
    Messages:
    2,190
    Likes Received:
    447
    Here's two hints:
    and
    Code:
    int atoi(const char* input) {
      int result;
      for(result = 0; *input; input++)
        result = (result * 10) + (*input - '0');
      }
      return result;
    }
     
  17. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    This is what I have done to parse the function. I've worked backwards to the simplest form and still nothing makes sense to me. I found a working Turbo debugger set up and still nothing clicks. When I do a trace, the stack never shows any information.

    [​IMG]

    Code:
    MOV AL, 20H
    MOV DI, OFFSET BUFFER
    CLD
    MOV CX, 100H
    REPNE SCASB
    
    MOV BX, DI
    MOV SI, DI
    MOV DI, OFFSET OPERATOR
    MOVSB
    
    MOV CX, BX
    DEC CX
    SUB CX, OFFSET BUFFER
    MOV SI, OFFSET BUFFER
    MOV DI, OFFSET NUM1ASCII
    REP MOVSB
    
    ADD BX, 2
    MOV AL, 0DH
    MOV DI, BX
    MOV CX, 100H
    REPNE SCASB
    
    DEC DI
    MOV CX, DI
    SUB CX, BX
    MOV SI, BX
    LEA DI, NUM2ASCII
    REP MOVSB
    
     
  18. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    I'm not too well-versed with x86 assembly so I cannot quite help you with your assignment.
    Basically, there isn't anything in the stack because your program doesn't use the stack. To debug, you're just suppose to set breakpoints and/or step through your program to ensure that it's working as required.
     
  19. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    I finally got everything working correctly. What is the difference between trace and step? At this point shouldn't have something shown up on the stack? [​IMG]
     
  20. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Like I wrote earlier, you aren't using the stack and so nothing will turn up there.
    Stepping means to traverse the program, instruction by instruction. I think that traces are debug messages... but I don't use them and so I am not totally sure about that.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page